Перейти к содержимому

Как выпустить HTTPS-сертификат Let’s Encrypt для Nginx

HTTPS и TLS-сертификат Let's Encrypt для сайта

HTTPS шифрует соединение браузера с сервером. Let’s Encrypt выдаёт бесплатные сертификаты, а Certbot помогает получать и обновлять их. Домен должен указывать на нужный сервер, а проверочные порты — быть доступны.

Проверьте DNS и HTTP

Убедитесь, что A-запись ведёт на правильный IPv4. AAAA должна существовать только при работающем IPv6. Проверьте доступность порта 80 и сайта по HTTP. DNS можно проверить через DNS Lookup на DimLife.

Установите Certbot

sudo apt update
sudo apt install certbot python3-certbot-nginx

Способ установки зависит от выпуска Ubuntu и текущих рекомендаций Certbot; не смешивайте несколько способов без необходимости.

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

sudo certbot --nginx -d example.com -d www.example.com

Замените домены на свои и добавляйте только те имена, которые действительно настроены на сервере и которыми вы управляете.

Проверьте результат

curl -I https://example.com
sudo certbot certificates

Откройте сайт в браузере и проверьте, что сертификат подходит домену.

Проверьте продление

sudo certbot renew --dry-run

Тестовое продление должно пройти без ошибок. Убедитесь, что установленный таймер или задача Certbot активны.

Частые причины ошибок

  • DNS указывает на другой сервер.
  • Порт 80 закрыт в UFW или панели провайдера.
  • В Nginx не указан нужный server_name.
  • Неправильная AAAA-запись приводит запросы по IPv6 не туда.

Не удаляйте существующие сертификаты и конфигурации, пока не выяснили, какие сайты ими пользуются.

Добавить комментарий

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