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 позаботится о продлении автоматически.

Что можно сделать дальше: