6.22 Выпуск SSL-сертификатов с помощью Certbot
SSL-сертификат необходим для защиты сайта по протоколу HTTPS. Он шифрует трафик между пользователем и сервером, повышает доверие к сайту и помогает SEO-продвижению. Один из самых простых способов получить бесплатный сертификат — использовать Certbot от Let’s Encrypt.
В этой инструкции мы покажем, как выпустить и подключить SSL-сертификат на VPS или выделенный сервер с помощью Certbot.
Важно: если Ваш сайт размещен на нашей услуге хостинга или на сервере с панелью ISPManager4, эта инструкция для Вас неактуальна. Функционал выпуска SSL Let’s Encrypt на таких услугах уже существует в более быстрой и удобной реализации. С актуальной инструкцией про выпуск и подключение бесплатного SSL Let’s Encrypt на этих услугах Вы можете ознакомиться по ссылке.
Требования
Перед началом убедитесь, что:
- У вас есть доменное имя, указывающее на Ваш сервер (через A-запись).
- Сервер работает на актуальных версиях ОС из семейства Linux.
- На сервере установлен веб-сервер такой как Nginx или Apache.
- Порты 80 и 443 открыты.
Важно: Сертификаты Let’s Encrypt действуют 90 дней. Однако, Certbot позволяет автоматизировать процесс их продления.
Пошаговая установка Certbot
Учтите: нижеописанная инструкция написана на примере сервера с Ubuntu-22.04. Значения команд могут оличаться – На Centos вместо sudo apt
используем sudo yum
.
1. Обновляем пакеты:
sudo apt update
2. Устанавливаем Certbot и плагин для веб-сервера:
Для Nginx
sudo apt install -y certbot python3-certbot-nginx
Для Apache
sudo apt install -y certbot python3-certbot-apache
3. Проверяем версию Certbot:
certbot --version
Если видим актуальную версию (например, certbot 1.32.0
), значит установка прошла успешно.
Выпуск сертификата
1. Убедитесь, что сайт работает и доступен по HTTP. Проверьте, что ваш домен (например, example.com
) открывается в браузере. Certbot проверяет владение доменом именно через порт 80.
2. Запускаем Certbot:
Для Nginx
sudo certbot --nginx
Для Apache
sudo certbot --apache
В процессе автоматической установки Certbot:
- Найдет виртуальные хосты;
- Предложит выбрать нужный домен;
- Настроит HTTPS автоматически.
Совет: Certbot сам обновит конфигурацию Nginx/Apache, добавив редирект на HTTPS.
3. Проверяем работу. Откройте сайт в браузере. Если всё настроено правильно, Вы увидите замок в адресной строке и протокол https://
.
Также можно проверить SSL через:
curl -I https://example.com
Автоматическое продление
Certbot автоматически настраивает cron
или systemd-timer
для продления сертификатов.
Проверить автопродление можно вручную:
sudo certbot renew --dry-run
Если видим Congratulations, all renewals succeeded
, значит всё работает.
Заключение
Теперь ваш сайт защищён бесплатным сертификатом Let’s Encrypt, а Certbot позаботится о продлении автоматически.
Что можно сделать дальше:
-
Настроить редирект с HTTP на HTTPS вручную (если не выбрали это в Certbot).
-
Добавить HSTS в конфигурацию сервера.
-
Настроить CloudFlare с поддержкой SSL.