Переходим на сертификаты от Let’s Encrypt 2


В общем жил как говорится и не тужил 🙂 А тут на днях перестали нормально открываться сайты с сертификатами от startsll (последние из которых вообще выпускались на 3 года). Погуглил и к своему огорчению обнаружил что Мозила и Apple «забраковали» сертификаты от этой конторы. Пришлось в срочном порядке искать замену.

Среди платных сервисов (которые кстати давали на 1-3 месяца бесплатно заценить) нашел еще бесплатный сервис Let’s Encrypt (https://letsencrypt.org) там дают бесплатно, только срок сертификата 90 дней, затем надо продлить, особо выбора не было поэтому остановился на нем.

Как оказалось, продление сертификатов можно автоматизировать и вообще не касаться этой темы (тоесть сделал раз и забыл 🙂 а чтобы не забыть пишу для себя эту заметку).

и так пошел на свой сервер и установил сертбота:

apt-get update
apt-get install certbot -t jessie-backports -y

после установки появилась папка /etc/letsencrypt . Чтобы каждый раз не писать кучу опций, запишем их в файл конфига /etc/letsencrypt/cli.ini (создаем его сами)

authenticator = webroot
webroot-path = /var/www/html
post-hook = service nginx reload
text = True

Здесь мы задали способ аутентификации, путь до файлов аутентификации, а также хук для мягкого перезапуска сервера nginx.

При данных настройках сертбот будет искать файлы аутентификации примерно по такому пути :

/var/www/html/.well-known/acme-challenge/example.html

Дальше регистрируемся в Let’s Encrypt :

certbot register --email ваш@емайл

Это делается только один раз.

 

Подготовим наш nginx к прохождению аутентификации доменов сертботом.

В общем случае для получения сертификата необходимо во всех блоках server добавить следующий блок до других блоков location:

location /.well-known { root /var/www/html; }

Приступаем к получению сертификатов

У Let’s Encrypt есть лимиты на количество обращений за сертификатами, потому сначала лучше получать сертификат в тестовом режиме:

certbot certonly --dry-run -d sait.ru -d www.sait.ru

Если в конце бот отчитался об успешной работе:

The dry run was successful.

то выпускаеш уже в реальном режиме:

certbot certonly -d sait.ru -d www.sait.ru

Если вдруг чтото забыли добавить или захотели добавить новый поддомен, то выполните еще раз:

certbot certonly -d sait.ru -d www.sait.ru -d my.sait.ru

Файлы сертификатов вы увидите в папке

/etc/letsencrypt/live/sait.ru/

осталось заменить (или добавить пути сертификатов в файл конфига сервера nginx):

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

Ну и навсякий случай еще генератор ссл конфига — https://mozilla.github.io/server-side-tls/ssl-config-generator/

Теперь перезапускаем сервер nginx и проверяем наши сайты, например, тут: https://www.ssllabs.com/ssltest/analyze.html

Осталось добавить в крон certbot -q renew —allow-subset-of-names (Согласно рекомендаций Let’s Encrypt следует пытаться обновить сертификаты два раза в день. )
пока на этом все.


Оставьте комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

2 мыслей про “Переходим на сертификаты от Let’s Encrypt

  • Юрий

    Admin, сделай страницу с реквизитами доната. Хочется поблагодарить за плагин, а не где.

    • admin От автора

      Я подумаю над этим 🙂 (изначально сайт планировался как записная книжка для меня самого, монетизация не планировалась — даже рекламу гугли не ставил)