Перейти к основному содержанию

SSL-сертификат на VPS: Let's Encrypt + Nginx — пошаговый гайд 2026

Установка бесплатного SSL-сертификата Let's Encrypt на VPS с Nginx: Certbot, wildcard, автопродление, TLS 1.3, HSTS и оценка A+ в SSL Labs.

Замок HTTPS в окне браузера и знак Let's Encrypt — бесплатный SSL-сертификат на VPS с Nginx

Зачем нужен SSL-сертификат на VPS

SSL-сертификат шифрует данные между браузером пользователя и вашим сервером. Без SSL пароли, данные форм и cookies передаются в открытом виде и могут быть перехвачены. В 2026 году SSL обязателен для любого сайта — браузеры Chrome и Firefox помечают HTTP-сайты как небезопасные, а Google с 2014 года использует HTTPS как сигнал ранжирования — по его же словам, очень лёгкий.

Что даёт SSL-сертификат

  • Шифрование данных — TLS 1.3 защищает трафик от перехвата (MITM-атак).
  • Доверие пользователей — замок в адресной строке и отсутствие предупреждений браузера.
  • Поиск — Google называет HTTPS лёгким сигналом ранжирования, Яндекс пишет, что защищённый протокол «может быть учтён в ранжировании».
  • Требование платёжных систем — стандарт PCI DSS требует шифровать данные карт при передаче по открытым сетям.
  • HTTP/2 и HTTP/3 — браузеры поддерживают их только поверх HTTPS.

Let's Encrypt — бесплатный центр сертификации, выпускающий DV-сертификаты с автоматическим продлением. На VPS его выпускают клиентом Certbot — его Let's Encrypt рекомендует большинству.

Схема выпуска сертификата Let's Encrypt на VPS: certbot --nginx, проверка домена, сертификат в Nginx и автопродление
Бесплатный сертификат Let's Encrypt: certbot --nginx запрашивает его, домен проверяется по порту 80, продлевает таймер certbot

Типы SSL-сертификатов: какой выбрать

DV (Domain Validation) — для большинства сайтов

  • Подтверждает владение доменом
  • Выпускается автоматически, без проверки документов
  • Бесплатно у Let's Encrypt; платные DV продают и удостоверяющие центры, но их цены мы не сверяем
  • Подходит для блогов, лендингов, небольших магазинов

OV (Organization Validation) — для бизнеса

  • Подтверждает организацию (проверка документов)
  • Выпускается дольше: центр проверяет документы организации
  • Цену смотрите у выбранного центра: мы её не сверяем
  • Название компании в сертификате

EV (Extended Validation) — для крупного e-commerce

  • Расширенная проверка юрлица
  • Выпускается дольше всех: проверка юрлица расширенная
  • Цену смотрите у выбранного центра: мы её не сверяем
  • Название компании в сертификате, как и у OV

Wildcard — для поддоменов

  • Покрывает *.example.com (все поддомены)
  • Let's Encrypt выпускает бесплатно через DNS-challenge
  • Удобно для проектов с поддоменами: api.*, cdn.*, admin.*

Рекомендация: для большинства проектов на VPS достаточно бесплатного DV-сертификата от Let's Encrypt. OV и EV нужны, когда в сертификате должно стоять название организации.

Установка Certbot на VPS

Certbot — клиент от EFF, который Let's Encrypt рекомендует большинству: он получает и продлевает сертификаты. Поддерживает Nginx, Apache и standalone-режим.

Ubuntu 22.04 / 24.04

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

Debian 12

sudo apt install certbot python3-certbot-nginx -y

CentOS / AlmaLinux / Rocky Linux

sudo dnf install epel-release -y
sudo dnf install certbot python3-certbot-nginx -y

Для Apache замените python3-certbot-nginx на python3-certbot-apache.

Получение SSL-сертификата для Nginx

Самый простой способ — Certbot автоматически настраивает Nginx.

Предварительные требования

  1. Домен направлен на IP вашего VPS (A-запись в DNS)
  2. Nginx установлен и работает
  3. Порты 80 и 443 открыты в файрволе

Проверка DNS

# Убедитесь, что домен указывает на IP VPS
dig +short example.com
# Должен показать IP вашего сервера

Получение сертификата

sudo certbot --nginx -d example.com -d www.example.com

Certbot автоматически:

  1. Проверит владение доменом через HTTP-challenge
  2. Получит сертификат от Let's Encrypt
  3. Настроит Nginx: добавит listen 443, ssl_certificate, ssl_certificate_key
  4. Настроит редирект HTTP -> HTTPS
  5. Продлевать сертификат будет задание, которое ставит сам пакет certbot (в Ubuntu — таймер certbot.timer)

Что изменит Certbot в конфигурации Nginx

# /etc/nginx/sites-available/example.com
server {
    listen 443 ssl;
    server_name example.com www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    # Ваша конфигурация сайта
    root /var/www/example.com;
    index index.html;
}

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

Wildcard-сертификат через DNS-challenge

Wildcard-сертификат покрывает все поддомены (*.example.com). Для его получения используется DNS-challenge вместо HTTP.

sudo certbot certonly --manual --preferred-challenges=dns \
  -d example.com -d *.example.com

Certbot попросит создать TXT-запись в DNS:

# Certbot покажет:
# Please deploy a DNS TXT record under the name:
# _acme-challenge.example.com
# with the following value:
# gfj9Xq...Rg5nTzKFw

# Добавьте TXT-запись через панель регистратора
# Дождитесь, пока запись появится: dig TXT _acme-challenge.example.com
# Нажмите Enter в Certbot

Автоматизация через DNS-плагины

# Для Cloudflare:
sudo apt install python3-certbot-dns-cloudflare
sudo certbot certonly --dns-cloudflare \
  --dns-cloudflare-credentials /etc/letsencrypt/cloudflare.ini \
  -d example.com -d *.example.com

# Для DigitalOcean и Route 53 в Ubuntu есть свои пакеты:
# sudo apt install python3-certbot-dns-digitalocean python3-certbot-dns-route53

Автоматическое продление сертификата

Сертификаты Let's Encrypt сейчас действуют 90 дней; Let's Encrypt объявил сокращение — до 64 дней с 10 февраля 2027 года и до 45 с 16 февраля 2028-го. Задание продления ставит пакет certbot, но проверить его стоит. Выпущенный вручную (--manual) сертификат без хука сам не продлится.

Проверка автопродления

# Тестовый запуск (без реального продления)
sudo certbot renew --dry-run

# Проверка таймера systemd
sudo systemctl status certbot.timer
sudo systemctl list-timers | grep certbot

Ручное продление

sudo certbot renew
sudo nginx -t && sudo systemctl reload nginx

Настройка хука для перезапуска Nginx

# /etc/letsencrypt/renewal-hooks/deploy/reload-nginx.sh
#!/bin/bash
nginx -t && systemctl reload nginx

# Сделать исполняемым
chmod +x /etc/letsencrypt/renewal-hooks/deploy/reload-nginx.sh

Nginx читает сертификат вместе с конфигурацией: без перезагрузки после продления он продолжит отдавать старый. Скрипт из каталога deploy запускается только после успешного продления.

Оптимизация SSL: TLS 1.3 и HSTS

Базовая установка SSL достаточна для безопасности, но дополнительная оптимизация ускоряет загрузку и повышает оценку в SSL Labs.

TLS 1.3 — обязательно

В Ubuntu эти строки уже есть в /etc/nginx/nginx.conf (ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3 и ssl_prefer_server_ciphers on) — замените их, а не добавляйте вторые: с повтором nginx -t не пройдёт («"ssl_prefer_server_ciphers" directive is duplicate»), при проверке 11.10.2026 так и было.

# /etc/nginx/nginx.conf, блок http: ЗАМЕНИТЬ строки, которые там уже есть
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;

TLS 1.3 быстрее (1-RTT handshake вместо 2-RTT) и безопаснее. Поддерживается всеми современными браузерами.

HSTS — принудительный HTTPS

# В блоке server (listen 443)
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;

HSTS сообщает браузеру: всегда подключаться только через HTTPS. max-age=63072000 — 2 года. Флаги includeSubDomains и preload ставьте, только когда на HTTPS работают все поддомены, включая внутренние: из списка предзагрузки браузеров сайт выходит месяцами (hstspreload.org).

OCSP Stapling — для Let's Encrypt больше не нужен

# С 7 мая 2025 года в сертификатах Let's Encrypt нет адреса OCSP,
# 6 августа 2025-го Let's Encrypt выключил OCSP совсем, и Nginx
# на эти строки пишет «ssl_stapling ignored». Если они есть — удалите:
# ssl_stapling on;
# ssl_stapling_verify on;
# resolver 8.8.8.8 1.1.1.1 valid=300s;   — был нужен для OCSP
# resolver_timeout 5s;

Проверка конфигурации

# Проверить Nginx
sudo nginx -t
sudo systemctl reload nginx

# Проверить SSL оценку
# https://www.ssllabs.com/ssltest/analyze.html?d=example.com
# Цель: оценка A+ (TLS 1.3 + HSTS)

Какой сервер нужен под собственный сертификат

Сам сертификат бесплатен, а вот условия под него задаёт сервер. Из требований выше следуют три, и по ним тарифы как раз и различаются.

Публичный IPv4. HTTP-challenge проверяет владение доменом обращением к вашему адресу — значит адрес нужен публичный и свой. Выбирая по цене, проверьте, что адрес входит в тариф: у Timeweb Cloud публичный IPv4 в ценах на странице тарифов уже есть.

Root-доступ к Nginx. Всё из раздела про TLS 1.3 и HSTS правится в конфиге вручную. На виртуальном хостинге сертификат выпускает панель провайдера, а настройки шифрования вам недоступны — это и есть разница между хостингом и своим сервером в этой задаче.

Открытый порт 80 на время проверки. Вторая строка в списке частых ошибок ниже — именно про него.

Реклама · ООО «Админвпс»

AdminVPS Promo — 499 ₽ при оплате за месяц

1 ядро 3,6 ГГц, 2 ГБ памяти, 30 ГБ NVMe, канал до 1 Гбит/с и 3 ТБ трафика — для Certbot и Nginx с запасом, а еженедельные копии входят в тариф: боевой сайт с сертификатом не пропадёт вместе с сервером. Сам сертификат бесплатен на любом тарифе, и всё, чему учит статья, делается по SSH в конфиге Nginx. По промокоду EASYLINK первый месяц — 199,60 ₽ при оплате за месяц. Для пробы хватит и Lite за 349 ₽ при оплате за месяц: 1 ГБ памяти, 15 ГБ NVMe, канал 100 Мбит/с, копии платные, промокод к нему не применяется. При оплате за 12 месяцев Promo стоит 5 090 ₽ за год вместо 5 988.

Год −15 %

Смотреть тариф Promo →

Частые ошибки при установке SSL на VPS

  • Домен не направлен на IP VPS — Certbot не сможет пройти HTTP-challenge. Проверьте: dig +short example.com.
  • Порт 80 закрыт в файрволе — HTTP-challenge требует доступности порта 80. Откройте: ufw allow 80/tcp.
  • Nginx не перезагружен после установки — nginx -t && systemctl reload nginx.
  • Забыли про www-версию — добавьте оба домена: -d example.com -d www.example.com.
  • Сертификат не продлился автоматически — проверьте certbot renew --dry-run и systemctl status certbot.timer.
  • Mixed Content после перехода на HTTPS — все ресурсы (картинки, скрипты, стили) должны загружаться через HTTPS.

Проверка на сервере 11.10.2026: что работает из коробки

Наш замер 11.10.2026. На чистом сервере Timeweb Cloud с Ubuntu 24.04.5 и Nginx 1.24.0 установка из раздела «Ubuntu 22.04 / 24.04» заняла 14 секунд и поставила certbot 2.9.0.

  • Задание продления пакет ставит сам: таймер certbot.timer включён и запущен сразу после установки, отдельный cron настраивать не нужно.
  • Утилита dig для проверки DNS на этом образе Ubuntu уже есть; каталог /etc/letsencrypt/renewal-hooks/deploy/ для хука создаётся вместе с пакетом.
  • Блок «TLS 1.3», дописанный в основной конфиг вторым, ронял nginx -t — исправлено выше: строки надо заменить.

Чего проверка не показывает: выпуск самого сертификата и продление — для них нужен свой домен с A-записью; wildcard через DNS-плагины не проверяли. Один сервер, один день.

Заключение

SSL-сертификат на VPS — это несколько команд Certbot и бесплатная защита, которая продлевается сама. Let's Encrypt закрывает типичные нужды сайта: DV-сертификаты, wildcard, автопродление. Для оценки A+ в SSL Labs добавьте TLS 1.3 и HSTS.

Для установки SSL достаточно любого VPS с root-доступом и публичным IPv4 — тарифы трёх провайдеров, которых мы ведём, сравнены на EasyLinkLife.

Реклама · АО «ТаймВэб»

Timeweb Cloud: публичный IPv4 в цене тарифа

Cloud MSK 40 — 1 000 ₽/мес при оплате за месяц или 900 ₽/мес при оплате за 12 месяцев: 2 vCPU, 2 ГБ RAM, 40 ГБ NVMe, публичный IPv4 в цене. Оплата почасовая.

Попробовать Timeweb Cloud

Реклама · ООО «Админвпс»

AdminVPS: сервер под сайт с сертификатом

Promo — 499 ₽/мес при оплате за месяц, root-доступ и еженедельные копии в тарифе: сертификат ставится по шагам этой статьи; по промокоду EASYLINK первый месяц 199,60 ₽ при оплате за месяц. Панель ISPmanager в обычной линейке — первый месяц бесплатно по промокоду провайдера, дальше платно; в линейке «Всё включено» входит в цену (кроме Lite).

Выбрать тариф AdminVPS

Частые вопросы

SSL-сертификат Let's Encrypt действительно бесплатный?

Да, полностью бесплатный. Let's Encrypt — центр сертификации некоммерческой организации ISRG. Выпускают сертификат клиентом Certbot.

Сколько действует сертификат Let's Encrypt?

Сейчас 90 дней. Let's Encrypt объявил сокращение: с 10 февраля 2027 года — 64 дня, с 16 февраля 2028-го — 45. Certbot продлевает сам: версии до 4.0 — за 30 дней до конца срока, новые — когда осталась треть; запускает его таймер systemd или cron.

Как получить wildcard SSL-сертификат бесплатно?

Через DNS-challenge: certbot certonly --manual --preferred-challenges=dns -d example.com -d *.example.com. Необходимо создать TXT-запись в DNS. Выпущенный так вручную сертификат сам не продлится: для автопродления нужен DNS-плагин Certbot.

Нужен ли SSL для сайта без форм и оплаты?

Да. Браузеры Chrome и Firefox помечают HTTP-сайты как небезопасные. Google называет HTTPS лёгким сигналом ранжирования, Яндекс пишет, что защищённый протокол «может быть учтён в ранжировании». HTTP/2 браузеры поддерживают только поверх HTTPS.

Как проверить правильность установки SSL?

Используйте SSL Labs: ssllabs.com/ssltest. Цель — оценка A+. Проверьте: TLS 1.3, HSTS, отсутствие mixed content, корректную цепочку сертификатов.

Что делать если Certbot выдаёт ошибку?

Частые причины: домен не направлен на IP VPS (проверьте dig), порт 80 закрыт в файрволе (ufw allow 80), Nginx не запущен (systemctl start nginx). Логи: /var/log/letsencrypt/letsencrypt.log.

Сервер под сайт с собственным сертификатом

Выбрать VPS для сайта

Некоторые ссылки в этой статье являются партнёрскими. Мы можем получить комиссию при переходе и покупке. На стоимость для вас это не влияет. Подробнее

Об авторе

Логотип EasyLinkLife

Редакция EasyLinkLife

Редакция EasyLinkLife сверяет цены, состав тарифов и условия оплаты российских хостинг-провайдеров по их первоисточникам.

Проверено: Редакция EasyLinkLife | Обновлено: 11 октября 2026 г.

Полезные материалы