3.2.7 Випуск і підключення сертифіката 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
в корені директорії вашого сайту.
Потім повторіть спробу видачі сертифіката за вищезазначеною інструкцією.