Недавно сломался заказанный мной на 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