Site icon IT Draft

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

Бесплатный 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-запись будет другой

Selectel — ведущий провайдер облачной инфраструктуры и услуг дата-центров

Компания занимает лидирующие позиции на рынке на рынке выделенных серверов и приватных облаков, и входит в топ-3 крупнейших операторов дата-центров в России.


Сервис 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;
		...
Exit mobile version