Установка Certbot и сертификат Let's Encrypt для сайта: коротко и с данными
Конспект страницы: 6 разделов коротко, данные на 14 октября 2026 и ответы на 4 вопроса. Полный разбор с примерами: Установка Certbot и сертификат Let's Encrypt для сайта.
Коротко
Установка Certbot нужна, чтобы получить бесплатный сертификат Let's Encrypt для Nginx или Apache и не следить за его сроком: программа подтверждает, что домен ваш, кладёт сертификат в /etc/letsencrypt/live и продлевает его по таймеру. Для работы нужны домен, указывающий на сервер, и порт 80, открытый из интернета. Для Nginx или Apache ставьте Certbot из snap и запускайте certbot --nginx: сертификат появится в /etc/letsencrypt/live, продлением займётся таймер.
Конспект по разделам
Что делает Certbot и каким сайтам он нужен
Certbot это программа Фонда электронных рубежей (EFF), которая общается с Let's Encrypt по протоколу ACME. Она доказывает центру сертификации, что вы управляете доменом, получает сертификат и при желании сама правит конфиг веб-сервера. Если вы выбрали Caddy или Traefik, Certbot не нужен: они выпускают сертификаты сами.
Установка Certbot на Ubuntu и Debian через snap
Вместо snap подойдёт пакет дистрибутива: sudo apt install certbot python3-certbot-nginx. Версия в нём отстаёт, зато это обычный apt. Для скрипта без вопросов добавьте --non-interactive --agree-tos -m you@example.com --redirect.
- Направьте A-запись домена на IP сервера и откройте порты 80 и 443: sudo ufw allow 80,443/tcp.
- Поставьте Certbot через snap: этот способ рекомендует сам проект, в нём всегда свежая версия.
- Запустите плагин веб-сервера: Certbot спросит адрес почты, согласие с условиями и нужна ли переадресация с HTTP.
Как Certbot продлевает сертификат и как это проверить
Команда certbot renew обходит все сертификаты и обновляет только те, которым пора. По документации Certbot начиная с версии 4.0.0 пора наступает, когда осталось меньше трети срока жизни, раньше порогом служили фиксированные 30 дней. Поэтому запускать продление можно хоть каждый день: лишних выпусков не будет.
- Найдите таймер: systemctl list-timers | grep certbot.
- Прогоните продление вхолостую: sudo certbot renew --dry-run.
- Посмотрите даты: sudo certbot certificates покажет срок окончания каждого сертификата.
Ошибки Certbot: порт 80, DNS и лимиты Let's Encrypt
Отдельная ловушка: если у домена есть запись AAAA, проверка может пойти по IPv6. Убедитесь, что сервер отвечает и по ней, либо удалите лишнюю запись. Выберите способ выпуска под вашу схему, а потом перейдите к командам: Три ответа, и подсказка назовёт команду Certbot
Certbot в Docker: образ certbot/certbot и общий каталог проверки
Когда Nginx работает в контейнере, ставить Certbot на хост не обязательно. Образ certbot/certbot запускают разово, а каталоги с сертификатами и проверкой общие с контейнером Nginx. В Nginx добавьте location /.well-known/acme-challenge/ { root /var/www/certbot; }.
Запустите свой сервер за пару минут
Почасовая оплата: тестовый стенд на сутки стоит десятки рублей, а не месячный тариф.
- NVMe-диски и гарантированная доля процессора
- Root-доступ и любой софт, от Docker до игровых серверов
- Маркетплейс: 91 приложение в один клик
- Бесплатный перенос проекта силами специалистов
Данные
| Плагин | Что делает | Когда брать |
|---|---|---|
| nginx, apache | Выпускает сертификат и правит конфиг сайта | Веб-сервер стоит на самом сервере |
| webroot | Кладёт файл проверки в каталог сайта, сервер работает | Свой конфиг нельзя отдавать программе |
| standalone | Сам занимает порт 80 на время проверки | Веб-сервера ещё нет или его можно остановить |
| DNS и manual | Подтверждает домен TXT-записью | Wildcard и серверы без порта 80 |
| Файл в /etc/letsencrypt/live/домен/ | Для чего |
|---|---|
| fullchain.pem | Сертификат с цепочкой: путь для ssl_certificate |
| privkey.pem | Закрытый ключ: путь для ssl_certificate_key, никому не отдавайте |
Данные на 14 октября 2026.
Вопросы и ответы
Как проверить, что Certbot сам продлит сертификат?
Выполните certbot renew --dry-run: он проверит весь путь продления на тестовом сервере. Наличие таймера видно в systemctl list-timers.
Нужно ли останавливать Nginx при установке Certbot?
Нет, если использовать плагин --nginx или режим webroot. Останавливать сервер приходится только в режиме standalone, которому нужен свободный порт 80.
Как получить wildcard-сертификат через Certbot?
Только с проверкой по DNS: нужен плагин вашего DNS-провайдера или скрипты, которые создают TXT-запись _acme-challenge. Порт 80 для такой проверки не нужен.
Как удалить ненужный сертификат Certbot?
Команда certbot certificates покажет имена, а certbot delete --cert-name имя удалит сертификат и перестанет его продлевать. Конфиг веб-сервера править придётся самому.