Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

SSL_HANDSHAKE_FAIL Linux / DevOps

Настройка SSL/TLS в Nginx: Let's Encrypt Certbot, OCSP Stapling, HTTP/2

Обновлено: 21.08.2026
  • Предупреждения безопасности в браузерах: SSL Certificate Expired или Untrusted Authority.
  • Медленный TLS Handshake из-за онлайн-проверок CRL/OCSP.
  • Низкая оценка в тестах Qualys SSL Labs (ниже рейтинга A+).

1. Выпуск сертификата через Certbot

apt-get install -y certbot python3-certbot-nginx
certbot certonly --nginx -d itstm.ru -d www.itstm.ru

2. Создание группы Диффи-Хеллмана (DH-params)

openssl dhparam -out /etc/nginx/dhparam.pem 2048

3. Конфигурация Production SSL блока (Mozilla Intermediate/Modern)

server {
    listen 443 ssl http2;
    server_name itstm.ru;

    # Пути к сертификатам
    ssl_certificate /etc/letsencrypt/live/itstm.ru/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/itstm.ru/privkey.pem;
    ssl_dhparam /etc/nginx/dhparam.pem;

    # Протоколы и шифры
    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:DHE-RSA-AES128-GCM-SHA256;
    ssl_prefer_server_ciphers off;

    # Кэширование SSL сессий
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;
    ssl_session_tickets off;

    # OCSP Stapling (Ускорение TLS Handshake)
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_trusted_certificate /etc/letsencrypt/live/itstm.ru/chain.pem;
    resolver 1.1.1.1 8.8.8.8 valid=300s;
    resolver_timeout 5s;

    # HSTS заголовок (Strict Transport Security)
    add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
}

4. Автоматическое продление через Certbot Hook

echo "deploy-hook = systemctl reload nginx" >> /etc/letsencrypt/cli.ini
certbot renew --dry-run
💡 Практика специалистов: Всегда проверяйте, чтобы в ssl_certificate был указан файл fullchain.pem, а не cert.pem. Отсутствие промежуточных сертификатов цепочки CA — самая частая причина ошибок SSL в мобильных браузерах и curl.

Частые вопросы (FAQ)

Что такое OCSP Stapling и зачем он нужен?

OCSP Stapling позволяет веб-серверу самостоятельно запрашивать подписанный ответ о валидности сертификата у удостоверяющего центра и прикреплять его к TLS Handshake, ускоряя открытие сайта.

Почему не стоит включать TLSv1.0 и TLSv1.1?

Протоколы TLS 1.0 и 1.1 являются устаревшими и уязвимыми к атакам (BEAST, POODLE), нарушают требования PCI-DSS и блокируются современными браузерами.

Полезные материалы
Рекомендуем