3.2.8 Випуск і підключення сертифіката Let's Encrypt

Хостинг TheHost офіційно підтримує сертифікати Let’s Encrypt. Сертифікати Let’s Encrypt є безкоштовними, але можуть задовільняти потребу в захисту з’єднання не гірше класичних комерційних сертифікатів від центрів сертифікації Sectigo/Comodo, RapidSSL, Thawte, GeoTrust та інших. Сертифікати Let’s Encrypt мають наступні особливості:
- Сертифікати цього типу є сертифікатами з перевіркою домену, тому для їх видачі обов’язково, щоб доменне ім’я, для якого формується сертифікат, було активним і посилалися на основний A-запис на сервері, на якому формується сертифікат. Для незареєстрованого, неактивного або спрямованого на інший сервер доменного імені видача сертифіката Let’s Encrypt не є можливою.
- Термін дії SSL Let’s Encrypt: 90 днів з моменту видачі.
- Продовжити сертифікат Let’s Encrypt можливо лише після 2-х місяців з моменту видачі.
- Для продовження сертифікатів Let’s Encrypt необхідно видавати новий сертифікат в панелі керування хостингом..
- На нашому хостингу існує можливість включити функцію автоматичного продовження для сертифікатів Let’s Encrypt.
Покрокова інструкція по випуску і підключенню SSL Let’s Encrypt
Зверніть увагу: дії, описані в цій інструкції, необхідно виконувати в панелі управління Вашого хостингу. У особистому кабінеті подібний функціонал відсутній. Детальніше про те, що таке панель управління хостингом і як отримати доступ до неї, Ви можете дізнатися за посиланням.
Загалом, для видачі сертифіката Let’s Encrypt достатньо зайти в панель управління хостингом і виконати кілька простих дій:

Далі необхідно встановити сертифікат для потрібного Вам сайту. Для цього в розділі World Wide Web -> WWW домени відкриваємо його властивості, увімкнувши та вибравши новий сертифікат:

Інструкція: установка SSL Let’s Encrypt більш докладно, у поетапному форматі
1. В панелі управління хостингом відкриваємо розділ SSL сертифікати:

2. У верхньому меню натискаємо на кнопку Let’s Encrypt:

3. У відркитому вікні вибираємо сайт, для якого необхідно видати сертифікат Let’s Encrypt:

4. Для підтвердження операції видачі сертифіката натискаємо Ок:

5. Після цього протягом 20-30 секунд у списку SSL-сертифікатів повинен з’явитися новий сертифікат Let’s Encrypt:

6. Далі необхідно встановити сертифікат для потрібного Вам сайту. Для цього в розділі World Wide Web -> WWW домени відкриваємо його властивості, увімкнувши та вибравши новий сертифікат:

Готово! Ваш сертифікат випущений і підключений до сайту!
Активація примусового перенаправлення з http на https
Сертифікат встановлено, підключено і активовано. Як примусово перенаправити всіх відвідувачів з http:// на https://?
Існують два варіанти активації такого перенаправлення з боку веб-сервера.
1. Стандартний, можливий для всіх наших серверів хостингу та нових шаблонів ОС з панеллю ISPManager:
Додатково: активація примусового перенаправлення з http:// на https:// в панелі ISPManager.
На всіх shared-хостинг серверах це можна зробити в панелі управління ISP. Для цього в панелі потрібно перейти в розділ WWW домени, виділити потрібний домен та натиснути кнопку Змінити. Далі потрібно в властивостях відзначити прапорцем пункт Тільки SSL.

2. Ручний, при використанні віртуальних та виділених серверів зі старими шаблонами ОС (нижче за Ubuntu_18+ispmgr):
Додатково: активація примусового перенаправлення з http:// на https:// за допомогою конфігурації Nginx.
Необхідно в конфігурації Nginx для потрібного WWW-домену додати наступний блок:
if ($ssl_protocol = "") {
rewrite ^ https://$server_name$request_uri? permanent;
}
Приклад, як це повинно бути у файлі конфігурації /etc/nginx/nginx.conf/:
server {
server_name example.com www.example.com;
listen 91.234.32.170;
listen 91.234.32.170:443 ssl;
disable_symlinks if_not_owner from=$root_path;
set $root_path /var/www/exampleuser/data/www/example.com;
if ($ssl_protocol = "") {
rewrite ^ https://$server_name$request_uri? permanent;
}
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
root $root_path;
access_log /var/www/nginx-logs/exampleuser isp;
access_log /var/www/httpd-logs/example.com.access.log ;
error_page 404 = @fallback;
}
location / {
proxy_pass http://91.234.32.170:81;
....
Також зазначене можна зробити на VPS під root в розділі WWW-домени, вибравши потрібний сайт, натиснувши справа вгорі Конфіг, і, у вкладці Nginx додати потрібний код для сайту.
Автоматичне продовження сертифікатів Let’s Encrypt
На нашому хостингу також доступний функціонал автоматичного продовження SSL-сертифікатів Let’s Encrypt.
У розділі SSL certificates в панелі управління хостингом знайдіть сертифікат, який відповідає наступним вимогам:
- це сертифікат Let’s Encrypt;
- цей сертифікат активний і підключений до домену.
Після цього виберіть такий сертифікат за допомогою правої кнопки миші та натисніть кнопку Info у верхньому правому куті інтерфейсу панелі. У вікні властивостей сертифіката ви зможете знайти спеціальну опцію Auto Renew:

Увімкнувши цю опцію та натиснувши Ok, ви активуєте автоматичне оновлення для цього та майбутніх SSL Let’s Encrypt для конкретного домену.
Додатково: як працює автоматичне оновлення?
Приблизно один раз на годину скрипт перевіряє всі активні сертифікати, позначені цією галкою, і автоматично оновлює ті, з терміном дії яких закінчується раніше, ніж через 30 днів (або вже закінчився).
У разі успішного оновлення, новий сертифікат замінює старий, а старий залишається з тим самим ім’ям і розширенням .previous., тобто .попередній.
Особливості експлуатації та можливі помилки
При формуванні сертифікатів Let’s Encrypt у кореневих папках користувачів автоматично створюються спеціальні каталоги:
-
Каталог
lets_encryptв корені хостинг-акаунта. Службовий каталог розміром приблизно 300 Кб, який забезпечує технічну можливість видавати користувачам сертифікати Let’s Encrypt. Видалення його не рекомендується, але він автоматично відновлюється при повторному видачі або продовженні сертифіката; -
Каталог
.well-known/acme-challengeв корені сайту, для якого був виданий сертифікат Let’s Encrypt. Цей каталог розміром до 10 Кб необхідний для проведення перевірки власності або належності сайту. Ми не рекомендуємо його видаляти, але, як і попередній каталог, система автоматично відновить його при повторній видачі або продовженні сертифіката.
Також існують обмеження на видачу SSL-сертифікатів - докладніше це описано в технічній документації сертифікаційного центру Let’s Encrypt.
Якщо виникають помилки при видачі SSL, передусім ви можете самостійно видалити вказані каталоги:
lets_encryptв корені вашого хостинг-акаунта;.well-known/acme-challengeв корені директорії вашого сайту.
Потім повторіть спробу видачі сертифіката за вищезазначеною інструкцією.


