Бесплатный SSL (Let's Encrypt)
Let’s Encrypt выдаёт бесплатные SSL-сертификаты, а утилита Certbot автоматизирует их выпуск и продление. После настройки сайт будет открываться по HTTPS с валидным замком в браузере.
Предусловия
Заголовок раздела «Предусловия»Перед выпуском сертификата убедитесь, что:
- Домен указывает A-записью на IP вашего VDS — Привязка домена.
- Установлен и работает Nginx — Веб-сервер: Nginx и сайт.
- В конфигурации Nginx в
server_nameпрописан ваш домен.
Let’s Encrypt проверяет владение доменом, обращаясь к нему по HTTP, поэтому домен обязан резолвиться на сервер до выпуска.
Установка Certbot
Заголовок раздела «Установка Certbot»apt update && apt install -y certbot python3-certbot-nginxПлагин python3-certbot-nginx позволяет Certbot самому править конфигурацию Nginx.
Выпуск сертификата
Заголовок раздела «Выпуск сертификата»certbot --nginx -d example.ru -d www.example.ruCertbot задаст несколько вопросов (email для уведомлений, согласие с условиями) и предложит автоматически настроить редирект с HTTP на HTTPS — рекомендуется согласиться. После успешного выпуска он сам добавит директивы SSL в ваш server-блок и перезагрузит Nginx.
Откройте https://example.ru — соединение должно быть защищённым.
Автопродление
Заголовок раздела «Автопродление»Сертификаты Let’s Encrypt действуют 90 дней. Пакет Certbot устанавливает systemd-таймер, который продлевает их автоматически. Проверить таймер:
systemctl list-timers | grep certbotПротестировать процесс продления без реального обращения к серверам Let’s Encrypt:
certbot renew --dry-runЕсли команда завершилась без ошибок — автопродление настроено корректно.
Что дальше
Заголовок раздела «Что дальше»- Настроить reverse proxy на приложение — Веб-сервер: Nginx и сайт
- Вопросы по сертификатам — поддержка PG19