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

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

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

И
Илья Ковалев

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

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

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

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

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

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

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

  • Подтверждает владение доменом
  • Выпускается за 1-5 минут
  • Бесплатно (Let's Encrypt) или от 500 руб./год
  • Подходит для блогов, лендингов, небольших магазинов

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

  • Подтверждает организацию (проверка документов)
  • Выпускается за 1-3 дня
  • От 3000-5000 руб./год
  • Название компании в сертификате

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

  • Расширенная проверка юрлица
  • Выпускается за 3-14 дней
  • От 10000 руб./год
  • Максимальный уровень доверия

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

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

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

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

Certbot — официальный клиент Let's Encrypt для автоматического получения и продления SSL-сертификатов. Поддерживает 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. Добавит задание в crontab для автопродления

Что изменит 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-запись через панель регистратора
# Подождите 1-2 минуты для распространения DNS
# Нажмите 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

# Для Yandex Cloud DNS, DigitalOcean и других:
# pip install certbot-dns-<provider>

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

Сертификаты Let's Encrypt действуют 90 дней. Certbot автоматически добавляет задание для продления, но стоит проверить его работу.

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

# Тестовый запуск (без реального продления)
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 автоматически подхватит новый файл без перезапуска.

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

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

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

# /etc/nginx/nginx.conf или sites-available/
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 года.

OCSP Stapling — ускорение проверки сертификата

ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 1.1.1.1 valid=300s;
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)

Частые ошибки при установке 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.

Заключение

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

Для установки SSL достаточно любого VPS с Nginx. Сравните провайдеров с предустановленным Nginx и бесплатным SSL на EasyLinkLife.

Плюсы и минусы

Преимущества

  • Пошаговая инструкция с готовыми командами
  • Охват Nginx, Apache, standalone
  • Wildcard через DNS-challenge
  • Оптимизация: TLS 1.3, HSTS, OCSP Stapling
  • Автопродление через systemd
  • Частые ошибки с решениями

Недостатки

  • Не покрывает Caddy (встроенный SSL)
  • Нет примеров для Windows Server
  • DNS-плагины не для всех провайдеров

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

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

Да, полностью бесплатный. Let's Encrypt — некоммерческий центр сертификации, спонсируемый EFF, Mozilla, Google и другими. Сертификат выпускается за 1-2 минуты через Certbot.

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

90 дней. Certbot автоматически продлевает сертификат за 30 дней до истечения через systemd timer или 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 с бесплатным SSL

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

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

E

Илья Ковалев

Илья Ковалев — автор EasyLinkLife, эксперт по серверной инфраструктуре и облачным технологиям. Специализируется на независимом тестировании хостинг-провайдеров.

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

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