Let’s Encrypt — это бесплатный, автоматизированный и открытый Центр сертификации (ЦС), работающий на благо общества. Это сервис, предоставляемый SSL/TLS сертификаты для сайтов с доступом по HTTPS, бесплатно, максимально облегчая процесс выдачи.
Предварительные условия
Чтобы у Вас все получилось, вам понадобится:
- Зарегистрировать доменное имя.
- Две DNS записи настроены для вашего сервера.
- Запись A,
example.ru
- Запись A,
www.example.ru
- Запись A,
- Установленный Nginx, воспользуйтесь инструкцией по установке Nginx в Debian .
Установка Certbot
Установите Certbot и его плагин Nginx с помощью команды:
Certbot готов к использованию, но для того, чтобы он автоматически настроил SSL для Nginx, нам необходимо проверить некоторые настройки.
Разрешение HTTPS в брандмауэр
Проверим текщие настройки, набрав:
Hазрешен только HTTP-трафик:
OutputStatus: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
Чтобы пропускать HTTPS-трафик, разрешите полный профиль Nginx и удалите HTTP-профиль:
Теперь ваш статус должен выглядеть так:
OutputStatus: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx Full ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx Full (v6) ALLOW Anywhere (v6)
Получение SSL-сертификата
Certbot предоставляет различные способы получения SSL-сертификатов с помощью плагинов. . Чтобы использовать плагин Nginx, введите следующее:
Вам будет предложено ввести адрес электронной почты и согласиться с условиями обслуживания.
В случае успеха certbot
система спросит, как вы хотите настроить параметры HTTPS.
OutputPlease choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):
Выберите свой вариант и нажмите ENTER
. Конфигурация будет обновлена, и Nginx перезагрузится, чтобы принять новые настройки. certbot
завершится сообщением о том, что процесс прошел успешно и где хранятся ваши сертификаты:
OutputIMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/example.ru/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/example.ru/privkey.pem
Your cert will expire on 2024-08-18. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
Проверим процес автоматического обновления сертификата
Saving debug log to /var/log/letsencrypt/letsencrypt.log
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/example.ru.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Simulating renewal of an existing certificate for example.ru and www.example.ru
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations, all simulated renewals succeeded:
/etc/letsencrypt/live/example.ru/fullchain.pem (success)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Ваши сертификаты установлены и загружены.
Эти шаги обеспечат защиту вашего сервера Nginx с использованием сертификатов Let’s Encrypt, что повысит безопасность и доверие к вашему веб-сайту.