Как установить SSL-сертификат Let's Encrypt на серверах с нашей первоначальной настройкой?

Установка бесплатного SSL-сертификата Let's Encrypt входит в бесплатную первоначальную настройку и происходит автоматически, если доменное имя в названии сервера существует и направлено на его ip-адрес.

1. Проверьте, что домены направлены на правильные ip

Если сертификат по той или иной причине не установился, его можно установить вручную с помощью утилиты certbot. Для этого проверьте, что имена доменов, которые Вы хотите защитить, направлены на ip-адрес VPS. Сделать это можно с помощью стороннего инструмента.

2. Выпустите сертификат

Для этого подключитесь к Вашему серверу по SSH и выполните инструкции описанные ниже.

Перед установкой сертификата необходимо установить пакет python-certbot-nginx необходимого для работы certbot с веб-сервером nginx. В зависимости от дистрибутива, имя пакета немного отличается.

Для установки пакета в CentOS:

yum install python-certbot-nginx

Для установки пакета в Debian:

apt install python-certbot-nginx

Для установки пакета в Ubuntu:

apt install python3-certbot-nginx

Запускаем следующую команду, которая установит непосредственно сам сертификат. После её выполения, в конфигурационном файле nginx будут автоматически указаны пути до .pem и .key файлов, настроен HTTPS:

certbot --nginx -d имядомена.com -d www.имядомена.com

В дистрибутивах Debian\Ubuntu Вам будет предложено настроить 301-й редирект. Нажать 1 - отказаться, нажать 2 - согласиться:

Далее, certbot самостоятельно установит сертификат, сгенерирует файлы первичного ключа и создаст цепочку сертификатов в формате .pem. После чего, внесет изменения в конфигурационный файл веб-сервера, настроит 301-й редирект с HTTP на HTTPS (если Вы выбрали данный пункт при установке сертификата в Debian\Ubuntu):

Сертификат автоматически обновляется заданием в systemd в дистрибутивах Debian/Ubuntu.
Проверить добавилось оно или нет, Вы можете данной командой:

systemctl list-timers


Данное задание выполняет проверку сертификата каждые 12 часов. Если проверкой будет обнаружено, что у сертификата истекает срок, то он будет продлен.

Также, задание на обновление задается в cron по следующему пути: /etc/cron.d/certbot. Задание в systemd будет иметь приоритет над заданием в cron и будет отключено по умолчанию.

В дистрибутиве CentOS задание будет прописано в /etc/crontab. В таймере systemd оно не добавляется по умолчанию.

После установки сертификата и проверки заданий на автопродление, Вы можете проверить автообновление сертификата в тестовом режиме:

certbot renew --dry-run

Если автопродление настроено, то Вы увидите следующий вывод:

Проверить корректность работы сертификата  можно с помощью сторонних инструментов -  ssllabs и sslshopper.com.

Помогла ли вам эта информация?
Другие статьи по этой теме
Не можете найти ответ на свой вопрос?
Напишите запрос в службу поддержки
Написать сейчас