Бесплатный SSL: Let's Encrypt и certbot с нуля

На проекте клиента HTTPS был «сами купите у хостера». За ~20 минут ставится Let's Encrypt: бесплатно, 90 дней, с автопродлением. Ниже — чеклист под nginx на обычном VPS.

Что нужно до старта

  • Домен указывает A (и при необходимости AAAA) на IP этого сервера.
  • Порты 80 и 443 открыты снаружи (firewall / security group).
  • Сайт уже отвечает по HTTP (хотя бы заглушка) — certbot проверит владение доменом.
  • Root или sudo на сервере.
Проверка DNS: mediops.ru/tools/dns-check/ или dig +short A ваш-домен.ru.

Шаг 1 — установить certbot

Debian / Ubuntu:

sudo apt update
sudo apt install -y certbot python3-certbot-nginx

Если Apache вместо nginx:

sudo apt install -y certbot python3-certbot-apache

RHEL / Alma / Rocky — пакеты из EPEL / snap; логика та же: плагин под ваш веб-сервер.

Шаг 2 — выпустить сертификат (nginx)

sudo certbot --nginx -d example.ru -d www.example.ru
  • Укажите email для уведомлений Let's Encrypt (не спам Mediops — это LE).
  • Согласитесь с ToS.
  • Certbot сам поправит server-блок nginx и перезагрузит его.

Только один домен без www:

sudo certbot --nginx -d example.ru
Подставьте реальный домен клиента. В примерах — example.ru.

Шаг 3 — проверить

sudo certbot certificates
curl -sI https://example.ru | head -5

Снаружи (не из кэша браузера на сервере):

  • site-check — код, редирект, дни до конца SSL
  • или в боте «Проверить сайт»

Типичные ошибки

  • Timeout / connection refused на 80 — DNS не на этот IP или firewall режет 80.
  • Несколько server_name — certbot не угадал блок; укажите конфиг явно или поправьте nginx вручную.
  • Cloudflare / прокси — SSL на edge и origin разные; для LE часто нужен режим «DNS only» на время выпуска или DNS-challenge.

Дальше обязательно

Сертификат на 90 дней. Без renew сайт «умрёт» в пятницу вечером. Следующий гайд:

Автопродление certbot: cron, timer, dry-run →

Страховка: мониторинг SSL — алерт, если срок тает, а renew молчит.

Честно про Mediops

Мы не выпускаем сертификаты за вас. Certbot — на вашем VPS. Mediops проверяет сайт снаружи: доступность, дни до конца SSL, алерты на email (free) или в Telegram/MAX (с «Старт»).

Поставили SSL — добавьте контроль

Бесплатно: 3 сайта + email-алерты по SSL и доступности.