Let’s Encrypt сертификат через Certbot Print

  • nginx, apache2, certbot, Nginx, AlmaLinux, Ubuntu, nginx настройка, almalinux8, almalinux9, ubuntu
  • 0

HTTPS давно перестал быть “опцией”. Без него браузер пугает пользователей, платежки и API капризничают, а часть SEO-сигналов просто не засчитывается. При этом большинство сбоев с сертификатами не про криптографию, а про банальные вещи: закрыт порт 80, DNS указывает не туда, nginx слушает не тот server_name, а автопродление никто не проверил. Ниже самый прямой путь: поставить Certbot, выпустить Let’s Encrypt, проверить, что продление реально работает, и не словить простой через 90 дней.

На Ubuntu 24.04 самый спокойный вариант это Snap: он ставит свежий Certbot и обновляет его сам.

sudo apt update
sudo apt install -y snapd
sudo snap install core
sudo snap refresh core
sudo snap install --classic certbot
sudo ln -sf /snap/bin/certbot /usr/bin/certbot
certbot --version

На Debian 12 тоже можно так же, если не хочется зависеть от версий пакетов в репозиториях.

Ручной способ через пакеты системы

Если предпочитаешь системные репозитории и предсказуемость окружения.

Debian 12 или Ubuntu:

sudo apt update
sudo apt install -y certbot
certbot --version

AlmaLinux 9:

sudo dnf install -y epel-release
sudo dnf install -y certbot
certbot --version

Выпуск сертификата для Nginx и Apache

Если у тебя Nginx и ты хочешь, чтобы Certbot сам поправил конфиг и включил редирект на HTTPS, это самый удобный путь:

sudo certbot --nginx

Для Apache:

sudo certbot --apache

Команда откроет интерактивный режим: спросит email, условия, предложит домены из конфигов и сама сделает нужные правки. Это удобно тем, что тебе не нужно “вписывать домен в команду” и рисковать ошибкой.

Если ты не хочешь автоматических правок, выпускай сертификат в режиме webroot, а конфиг меняй руками:

sudo certbot certonly --webroot

Как проверить, что всё работает

Сразу после выпуска сделай три проверки. Они отсекают 90% проблем.

Проверка сертификата снаружи через curl:

curl -I https://ваш-домен

Проверка, что Certbot видит активные сертификаты:

sudo certbot certificates

Проверка автопродления в “сухом” режиме:

sudo certbot renew --dry-run

Если dry-run проходит, значит через 60–80 дней ты не проснешься с просроченным сертификатом.

Автопродление и перезагрузка веб-сервера

На большинстве систем Certbot уже ставит systemd timer. Проверь:

systemctl list-timers | grep -i certbot || true

Чтобы после продления nginx точно подхватывал новый сертификат, можно добавить deploy-hook:

sudo certbot renew --deploy-hook "systemctl reload nginx"

Для Apache аналогично:

sudo certbot renew --deploy-hook "systemctl reload apache2"

Типовые ошибки и как чинить за минуту

Самая частая причина провала HTTP-01 проверки это недоступен порт 80. Let’s Encrypt должен достучаться до домена по HTTP, даже если ты потом делаешь редирект на HTTPS. Проверь, что 80 открыт в фаерволе и nginx/apache реально слушает его.

Nginx:

sudo ss -lntp | grep -E ':(80|443)\s'
sudo nginx -t

Apache:

sudo ss -lntp | grep -E ':(80|443)\s'
sudo apachectl -t

Если DNS указывает не на тот IP, Certbot будет упорно падать. Быстро проверить можно так:

getent hosts ваш-домен

На AlmaLinux с SELinux иногда мешает доступ к файлам или проксирование. Если у тебя нестандартные пути, не игнорируй контексты и политики. В большинстве типовых установок с nginx/apache и стандартными директориями проблем нет, но если “всё идеально, а проверка не проходит”, SELinux один из первых подозреваемых.

HTTPS кажется мелочью, пока он не ломается в самый неподходящий момент. На HSTQ мы обычно настраиваем выпуск и продление так, чтобы оно не зависело от ручных шагов: проверяем, что 80/443 доступны, веб-сервер корректно отдает нужный vhost, dry-run проходит, а перезагрузка сервиса после продления происходит автоматически. Это особенно полезно, когда у тебя несколько доменов, разные окружения, или серверов становится больше одного.

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


Was this answer helpful?

« Back

Knowledgebase