цены сверены 5 октября 2026 года

Бесплатный SSL на VPS: как получить и продлевать

Бесплатный сертификат даёт Let's Encrypt: на Ubuntu 24.04 или 26.04 с nginx его выпускает программа certbot за несколько команд и потом продлевает сама. Нужно одно условие: домен уже должен указывать на ваш сервер.

Бесплатный SSL на VPS: как получить и продлевать
Бесплатный SSL на VPS: как получить и продлеватьhostfakt.ru

Проверено на сервере 5 октября 2026 года на Ubuntu 26.04: установка certbot и проверка автопродления выполнены. Сам выпуск сертификата на тестовом сервере не проверялся: для него нужен домен.

Что такое сертификат Let’s Encrypt

SSL-сертификат включает HTTPS: соединение между браузером и сайтом шифруется, в адресной строке появляется замок. Let’s Encrypt выпускает такие сертификаты бесплатно и автоматически. Сервис работает для любого домена, на который у вас есть права, то есть который вы можете направить на свой сервер.

Сертификат выдаётся на ограниченный срок. По FAQ Let’s Encrypt на момент проверки это 90 дней, а продлевать рекомендуют каждые 60 дней. Срок нельзя изменить по запросу. Правила выпуска со временем меняются, поэтому актуальное значение смотрите на letsencrypt.org.

Короткий срок не проблема, если настроено автопродление. Certbot ставит его сам, ниже покажем, как проверить.

Что нужно до начала

Если домен не указывает на сервер, certbot завершится ошибкой проверки. Сначала настройте DNS, потом выпускайте сертификат.

Установка certbot для nginx

Ниже шаги из инструкции certbot.eff.org для nginx через snap. На образах Ubuntu от хостеров snap часто не установлен, поэтому сначала поставьте его:

sudo apt install snapd

Команда ставит службу snapd, через которую устанавливаются snap-пакеты. Если она уже есть, apt сообщит об этом и ничего не изменит.

Если ранее ставили certbot из apt, уберите его, чтобы не было конфликта:

sudo apt-get remove certbot

Установите certbot как snap-пакет:

sudo snap install --classic certbot

Сделайте команду certbot доступной во всей системе:

sudo ln -s /snap/bin/certbot /usr/local/bin/certbot

Выпустите сертификат и позвольте certbot самому поправить конфигурацию nginx:

sudo certbot --nginx

Команда спросит email (на него придут предупреждения, если продление не сработает), попросит принять условия и предложит выбрать домены из конфигурации nginx. Ответьте на вопросы, и certbot получит сертификат и добавит в конфиг HTTPS.

Если хотите сами вписать пути к сертификату в конфиг, выпустите только сертификат:

sudo certbot certonly --nginx

После этого откройте https://ваш-домен/ и убедитесь, что в адресной строке есть замок.

Что делать, если certbot выдал ошибку

Чаще всего причина в одном из четырёх мест.

Если на сервере работает Docker с собственным прокси, порты 80 и 443 могут быть заняты им, и nginx их занять не сможет.

Где лежат сертификаты

Certbot сохраняет файлы в папке /etc/letsencrypt/live/ваш-домен/. Там два главных файла: fullchain.pem (сертификат с цепочкой) и privkey.pem (закрытый ключ). Закрытый ключ никому не передавайте и не кладите в репозиторий.

Посмотреть сроки действия всех сертификатов на сервере можно командой:

sudo certbot certificates

Она выводит список сертификатов, домены и дату окончания срока.

Автопродление и его проверка

Certbot при установке создаёт задание, которое проверяет сертификаты и продлевает те, срок которых подходит к концу. Это таймер systemd или запись cron, зависит от способа установки. Посмотреть таймеры можно так:

systemctl list-timers

Проверьте, что продление сработает, не трогая настоящий сертификат:

sudo certbot renew --dry-run

Команда выполняет пробное продление на тестовом сервере Let’s Encrypt. Если в конце нет ошибок, автопродление настроено. Повторите проверку после любых изменений в nginx или DNS.

Типичные причины сбоя: домен перестал указывать на сервер, закрыт порт 80, в nginx убрали нужный server_name.

Альтернатива: веб-сервер Caddy

Caddy сам получает и продлевает сертификаты для доменов, которые указаны в его конфигурации. Ставить certbot и запускать команды не нужно. Условия те же: домен указывает на сервер, порты 80 и 443 открыты.

Минимальный файл /etc/caddy/Caddyfile для сайта из папки /var/www/site:

example.ru {
    root * /var/www/site
    file_server
}

После запуска Caddy сам обратится к бесплатному центру сертификации (по документации Caddy это Let’s Encrypt или ZeroSSL) и включит HTTPS. Установку Caddy на Ubuntu описывает официальная документация caddyserver.com. Caddy и nginx одновременно слушают порты 80 и 443, поэтому выбирайте один из них.

Что делать дальше

Если сервера ещё нет, подберите его в подборе VPS: для сайта с сертификатом хватает небольшого тарифа, VPS в нашей базе стоят от 140 ₽ в месяц (цены сверены 5 октября 2026 года). Сайт на WordPress разворачивает инструкция Установка WordPress на VPS, а общий порядок первых шагов описан в Первой настройке VPS.