Как настроить SSL-сертификат Let’s Encrypt для домена на сервере с Ubuntu и Nginx через Certbot?
Настройка SSL-сертификата Let’s Encrypt для домена на сервере с Ubuntu и Nginx через Certbot — это стандартная и хорошо автоматизированная процедура. Ниже приведено подробное руководство.
**1. Обновление системы и установка Certbot**
Перед началом убедитесь, что система обновлена:
sudo apt update && sudo apt upgrade -y
Установите Certbot и плагин для Nginx:
sudo apt install certbot python3-certbot-nginx -y
**2. Проверка конфигурации Nginx**
Убедитесь, что в конфигурационном файле вашего сайта (например, `/etc/nginx/sites-available/example.com`) указан правильный `server_name`:
server_name example.com www.example.com;
Проверьте синтаксис конфигурации:
sudo nginx -t
Перезагрузите Nginx:
sudo systemctl reload nginx
**3. Открытие портов в файрволе**
Если используется UFW, разрешите HTTPS-трафик:
sudo ufw allow ‘Nginx Full’
sudo ufw delete allow ‘Nginx HTTP’
**4. Получение SSL-сертификата**
Запустите Certbot с плагином для Nginx:
sudo certbot —nginx -d example.com -d www.example.com
Certbot автоматически:
— Проверит владение доменом через HTTP-challenge
— Получит сертификат от Let’s Encrypt
— Внесёт изменения в конфигурацию Nginx для HTTPS
— Настроит редирект с HTTP на HTTPS (по вашему выбору)
В процессе потребуется ввести email для уведомлений и согласиться с условиями использования.
**5. Проверка автоматического обновления**
Сертификаты Let’s Encrypt действуют 90 дней. Certbot автоматически создаёт задачу в cron или systemd timer для обновления. Проверьте это:
sudo systemctl status certbot.timer
Или протестируйте обновление вручную:
sudo certbot renew —dry-run
**6. Проверка работы HTTPS**
Откройте браузер и перейдите на `https://example.com`. Вы должны увидеть значок замка. Также можно проверить сертификат через онлайн-сервис SSL Labs (ssllabs.com/ssltest).
**Возможные проблемы:**
— Домен не указывает на IP сервера — убедитесь, что DNS-записи настроены корректно
— Порт 80 заблокирован — Certbot не сможет пройти HTTP-валидацию
— Ошибки в конфигурации Nginx — всегда проверяйте `nginx -t` перед перезагрузкой
После успешной настройки ваш сайт будет доступен по HTTPS с бесплатным и автоматически обновляемым сертификатом.
