Как отключить TLS 1.3 в Nginx
Чтобы отключить TLS 1.3 в Nginx, нужно явно указать разрешённые версии протоколов в директиве ssl_protocols, не включая TLSv1.3. Nginx поддерживает только те версии, которые перечислены в этой директиве.
server {
listen 443 ssl;
server_name example.com;
# Разрешаем только TLS 1.2 (TLS 1.3 автоматически отключится)
ssl_protocols TLSv1.2;
ssl_certificate /etc/nginx/ssl/cert.pem;
ssl_certificate_key /etc/nginx/ssl/key.pem;
# ... остальные директивы
}
🛠 Пошагово
- Откройте конфиг (путь зависит от вашей ОС и структуры):
sudo nano /etc/nginx/nginx.conf
# или
sudo nano /etc/nginx/conf.d/ваш_сайт.conf
# или
sudo nano /etc/nginx/sites-enabled/ваш_сайт
- Найдите или добавьте строку
ssl_protocols. Убедитесь, что в ней нетTLSv1.3. - Проверьте синтаксис:
sudo nginx -t
- Примените изменения:
sudo systemctl reload nginx # systemd
# или
sudo service nginx reload # sysvinit
🔍 Как проверить, что TLS 1.3 отключился
openssl s_client -connect example.com:443 -tls1_3
# Должно завершиться ошибкой handshake failure или отказом соединения
Или проверьте поддержку TLS 1.2 (должно работать):
openssl s_client -connect example.com:443 -tls1_2
⚠️ Важные замечания
TLSv1иTLSv1.1считаются уязвимыми. Не добавляйте их без крайней необходимости.- TLS 1.3 быстрее и безопаснее TLS 1.2. Отключайте его только если этого требуют специфичные клиенты, legacy-оборудование или внутренние политики безопасности.
- Если директива
ssl_protocolsуже указана в блокеhttpглобально, она переопределит настройки вserver. Либо уберите её изhttp, либо явно пропишите нужную версию в каждомserver.
Share this content:
