3.2.8 Выпуск и подключение сертификата Let's Encrypt
Хостинг TheHost официально поддерживает сертификаты Let’s Encrypt. Сертификаты Let’s Encrypt являются бесплатными, однако при этом функционально сопоставимы с классическими коммерческими сертификатами центров сертификации Sectigo/Comodo, RapidSSL, Thawte, GeoTrust и др. Сертификаты Let’s Encrypt обладают следующими особенностями:
- Сертификаты данного типа являются сертификатами с проверкой домена, поэтому для их выдачи обязательно чтобы доменное имя, для которого формируется сертификат, было активным и ссылалось основной А-записью на сервер, на котором формируется сертификат. Для не зарегистрированного, не активного или направленного на другой сервер доменного имени выдать сертификат 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 сертификаты в панели управления хостингом найти сертификат, который отвечает следующим требованиям:
- это сертификат Let’s Encrypt;
- данный сертификат в настоящее время активен и подключен к домену.
После этого необходимо выбрать такой сертификат кнопкой мыши и нажать на кнопку Информация в верхнем правом углу интерфейса панели. В результате откроется окно свойств сертификата, в котором Вы сможете найти специальную опцию Автопродление:
Включив эту опцию и нажав 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
в корне директории Вашего сайта.
И затем повторить попытку выпуска сертификата за вышеописанной инструкцией.