Настройка Letsencrypt на Debian 8

Дата: 30.04.2018Метки:

Недавно сломался заказанный мной на 3 года Rapid SSL. Как я понял, связано это с этой новостью: «Google объявил о том, что будет поэтапно блокировать SSL-сертификаты группы Symantec». Под удаление попадут сертификаты Symantec, GeoTrust, Thawte, RapidSSL. Ну вот, похоже, что эта учесть дошла и до моего блога.

Сертификат еще должен был работать 2 года, но я не стал расстраиваться и пользуясь случаем решил перейти на бесплатный Letsencrypt. Всегда хотел это сделать, но вот все не было повода отказаться от оплаченного ранее сертификата. Я буду описывать процесс для Debian 8. До сих пор для своего блога использую именно эту систему. Но думаю, что данная заметка будет актуальна и для Debian 9.

Для получения сертификата я буду использовать клиент certbot. Для начала необходимо добавить репозиторий в систему:

echo 'deb http://ftp.debian.org/debian jessie-backports main' | sudo tee /etc/apt/sources.list.d/backports.list
apt-get update

Устанавливаем клиент:

apt-get install certbot -t jessie-backports

После установки открываем конфигурационный файл nginx для сайта, которому необходимо сделать сертификат. В моем случае это:

nano /etc/nginx/conf.d/codebeer.ru.conf

Добавляем в секцию server:

location ^~ /.well-known/acme-challenge/ {
       allow all;
       default_type "text/plain";
}

Применяем настройки:

nginx -t
service nginx reload

Получаем сертификат.

certbot certonly -a webroot --webroot-path=/var/www/html -d codebeer.ru -d www.codebeer.ru

Указываем свой каталог размещения сайта и домен, для которого будет выпущен сертификат Letsencrypt. В процессе необходимо будет указать свой email. После завершения процесса, сертификаты будут сохранены в каталоге:

ssl_certificate /etc/letsencrypt/live/codebeer.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/codebeer.ru/privkey.pem;

Для автоматического продления сертификатов добавим в cron следующую команду:

30 2 * * * /usr/bin/certbot renew --noninteractive --renew-hook "/bin/systemctl reload nginx" >> /var/log/le-renew.log