Настройка SSL/TLS-сертификата
SSL/TLS-сертификат обеспечивает HTTPS: шифрует трафик между браузером и сервером. Без него браузеры показывают предупреждение «Небезопасное соединение», Google снижает позиции, современные API (PWA, Web Push, Geolocation) недоступны.
Типы сертификатов
| Тип | Верификация | Когда использовать |
|---|---|---|
| DV (Domain Validation) | Только домен | Большинство сайтов |
| OV (Organization Validation) | Домен + организация | Корпоративные сайты |
| EV (Extended Validation) | Расширенная проверка | Банки, платёжные системы |
Wildcard *.example.ru |
Все поддомены | Мультисубдоменная архитектура |
| Multi-domain (SAN) | Несколько доменов | Несколько сайтов |
Для большинства сайтов: Let's Encrypt DV (бесплатно) или платный DV от Comodo/Sectigo.
Настройка в Nginx
server {
listen 443 ssl http2;
server_name example.ru www.example.ru;
ssl_certificate /etc/letsencrypt/live/example.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.ru/privkey.pem;
# Рекомендуемые настройки TLS
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
# HSTS — сообщить браузеру использовать только HTTPS
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
# OCSP Stapling — ускорить проверку сертификата
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 1.1.1.1 valid=300s;
ssl_trusted_certificate /etc/letsencrypt/live/example.ru/chain.pem;
# Session cache для ускорения handshake
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
ssl_session_tickets off;
}
# HTTP → HTTPS редирект
server {
listen 80;
server_name example.ru www.example.ru;
return 301 https://example.ru$request_uri;
}
Установка платного сертификата
# 1. Генерация CSR (Certificate Signing Request)
openssl req -new -newkey rsa:2048 -nodes \
-keyout example.ru.key \
-out example.ru.csr \
-subj "/C=RU/ST=Moscow/L=Moscow/O=Компания ООО/CN=example.ru"
# 2. Загрузить CSR в панель удостоверяющего центра
# 3. Пройти верификацию (DNS-запись или файл)
# 4. Получить сертификат (fullchain.crt) и установить
# Nginx: путь к сертификату
ssl_certificate /etc/ssl/example.ru/fullchain.crt;
ssl_certificate_key /etc/ssl/example.ru/example.ru.key;
Проверка
- SSL Labs — полный анализ конфигурации TLS, цель: оценка A+
-
openssl s_client -connect example.ru:443— проверка в терминале -
curl -vI https://example.ru— проверить заголовки и TLS
Срок настройки: несколько часов для Let's Encrypt; 1–3 дня для платного OV/EV с верификацией.







