Получаем SSL сертификат Let’s Encrypt.
sudo yum install epel-release
sudo yum install certbotvi /etc/nginx/letsencrypt.conflocation ^~ /.well-known/acme-challenge {
alias /var/lib/letsencrypt/.well-known/acme-challenge;
default_type "text/plain";
try_files $uri =404;
}В конфигурационном файле хоста, секцию server, include-ом добавляем конфиг.
vi /etc/nginx/conf.d/$HOST.confserver {
...
include letsencrypt.conf;
}Изменяем группу и выставляем права.
chgrp nginx /var/lib/letsencrypt && chmod g+s /var/lib/letsencryptПолучаем сертификат.
certbot certonly --webroot --email mail@example.com -w /var/lib/letsencrypt -d example.com -d www.example.comСертификат действует 90 дней, после чего его необходимо продлить. Для автоматизации этой процедуры создаем systemd.service и systemd.timer.
/etc/systemd/system/certbot.service[Unit]
Description=Renew Certbot certificate (nginx)
After=network-online.target
[Service]
Type=oneshot
ExecStart=/usr/bin/certbot renew --renew-hook "/usr/bin/systemctl reload nginx.service"Timer будет запускать основной сервис ежедневно в 12 и 00 часов.
/etc/systemd/system/certbot.timer[Unit]
Description=Daily renewal of Let's Encrypt's certificates
[Timer]
OnCalendar=*-*-* 00,12:00:00
Persistent=true
[Install]
WantedBy=timers.targetАктивируем timer.
sudo systemctl daemon-reload
systemctl start certbot.timer
systemctl enable certbot.timer