Secure Sockets Layer (SSL) имеет решающее значение для защиты связи между клиентами и серверами. Для веб-серверов, использующих Nginx, поддержание актуальности сертификата SSL обеспечивает зашифрованные соединения и укрепляет доверие посетителей. Автоматизация обновления сертификатов SSL снижает риск истечения срока действия сертификатов, что приводит к небезопасным веб-сайтам и потенциальным предупреждениям безопасности. Certbot — популярный инструмент с открытым исходным кодом, который может помочь в автоматизации обновления SSL. В этой статье мы рассмотрим шаги, необходимые для настройки Certbot с Nginx для автоматизации обновлений SSL.

Понимание Certbot

Certbot — это бесплатный автоматизированный клиент центра сертификации, который извлекает и развертывает сертификаты SSL/TLS от Let’s Encrypt. Он разработан для упрощения процесса получения, установки и обновления сертификатов.

Предварительные условия

  • Работающий веб-сервер Nginx
  • Доступ к серверу с правами root или sudo
  • Доменное имя, настроенное с записями A/AAAA, указывающими на IP-адрес вашего сервера

Установка Certbot

Чтобы начать автоматизировать процесс продления SSL, вам необходимо установить Certbot и его плагин Nginx на свой сервер:

1
2
sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx

Получение SSL-сертификата с помощью Certbot

Чтобы получить свой первый SSL-сертификат от Let’s Encrypt с помощью Certbot:

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

Эта команда запустит Certbot с плагином Nginx, указав ваше доменное имя. Следуйте интерактивным подсказкам, чтобы завершить процесс.

Проверка автоматического продления

Сертификаты Let’s Encrypt действительны в течение 90 дней. К счастью, Certbot может автоматически продлевать их. Убедитесь, что процесс автоматического продления настроен правильно, смоделировав продление:

1
sudo certbot renew --dry-run

Если пробный запуск прошел без ошибок, все готово. Теперь процесс продления будет автоматизирован.

Переход на HTTPS

Чтобы гарантировать, что все соединения используют SSL, перенаправьте HTTP-трафик на HTTPS, добавив следующее в конфигурацию Nginx:

1
2
3
4
5
server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

После редактирования перезапустите Nginx, чтобы изменения вступили в силу:

1
sudo systemctl restart nginx

Устранение распространенных неполадок

Если у вас возникли проблемы во время установки или обновления:

  • Проверьте синтаксис конфигурации Nginx с помощью nginx -t.
  • Убедитесь, что ваш брандмауэр разрешает трафик HTTP (80) и HTTPS (443).
  • Проверьте настройки DNS на наличие правильных записей A/AAAA.
  • Просмотрите журналы Certbot в /var/log/letsencrypt для получения подробных сообщений об ошибках.

Завершение

Автоматизация обновления SSL с помощью Certbot с Nginx устраняет ручные задачи по управлению сертификатами, уменьшая человеческие ошибки и повышая безопасность веб-сайта. Вы успешно защитили свой сервер Nginx с помощью SSL-сертификата от Let’s Encrypt! Это не только повышает безопасность вашего веб-сайта, но и укрепляет доверие посетителей.

Вы также можете поделиться статьей со своими друзьями в социальных сетях, которым может быть интересна эта статья, или просто оставить комментарий ниже. Спасибо.