Бесплатный SSL и Widacard SSL сертификат от Let’s Encrypt, подключение в NGINX и автообновление на Centos 7

SSL Let’s Encrypt + NGINX

Wildcard-сертификат — сертификат открытого ключа, который может использоваться с несколькими поддоменами *.example.ru

Устанавливаем утилиту certbot

[root@localhost]# yum install certbot

Получаем SSL сертификат. Тип проверки: TXT-запись в DNS

[root@localhost]# certbot certonly --manual --agree-tos --email postmaster@example.ru --preferred-challenges=dns -d example.ru -d www.example.ru

certonly — запрос нового сертификата;
manual — проверка домена вручную.
preferred-challenges=dns — метод проверки домена через dns.
agree-tos — согласие на лицензионное соглашение;
email — почтовый адрес администратора домена;
d — перечисление доменов, для которых запрашиваем сертификат.

После чего certbot попросит для проверки прописать TXT-запись для доменных имен.
Прописываем их на нашем dns-сервере, ждем некоторое время, чтоб они прописались и возвращаемся в консоль для подтверждения.

Обязательно надо выждать некоторое время, пока пропишется запись, иначе проверка не пройдет, вы не получите сертификат, и при следующем запросе txt-запись будет другой

Сервис Let’s Encrypt так же выдает Wildcard SSL сертификаты. Для его получения выполним запрос:

[root@localhost]# certbot certonly --manual --agree-tos --email postmaster@example.ru --preferred-challenges=dns -d example.ru -d *.example.ru

Срок действия SSL сертификата от Let’s Encrypt ограничена 3 месяцами, по-этому для обхода этого ограничения воспользуемся автоматическим обновлением

Автоматическое продление SSL-сертификата

Ищем путь до certbot:

[root@localhost]# which certbot
/usr/bin/certbot

Запускаем редактирование cron и добавляем строку:

[root@localhost]# crontab -e
0 0 * * 1,4 /usr/bin/certbot renew && systemctl restart nginx

В данном случае запуск скрипта проверки и продления сертификата (если срок действия сертификата заканчивается) будет происходить по понедельникам и четвергам в 00:00. После чего будет перезапущен NGINX

Остальные настройки рассматривались ранее, в этой статье

Часть конфига:

server {
        listen 443 ssl default_server;
        include snippets/ssl-params.conf;
        root /var/www/html;

        server_name example.ru www.example.ru;
        index index.php index.html index.htm;

        ssl_certificate /etc/letsencrypt/live/example.ru/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/example.ru/privkey.pem;
        ssl_trusted_certificate /etc/letsencrypt/live/example.ru/chain.pem;
		...

Максим Макаров
У блога появился хостинг, его любезно предоставила компания Облакотека.
Облакотека - облачные сервисы для создания и управления виртуальной ИТ-инфраструктурой.
Если вам понравился мой блог и вы хотели бы видеть на нем еще больше полезных статей, большая просьба поддержать этот ресурс. Для этого достаточно кликнуть на контекстную рекламу, расположенную на сайте.
Оцените автора
IT Draft
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.