SSL handshake failed — несовместимая версия TLS или шифры

  • Обновлено
  • Чтение ≈ 2 минуты

Краткий ответ

Handshake не проходит, если клиент и сервер не поддерживают общие версии TLS или шифры. Включите TLS 1.2/1.3 и обновите ПО.

В этой статье
  1. Что означает ошибка
  2. Причины и признаки
  3. Пошаговое решение
  4. Проверка результата

#Что означает ошибка

Сообщение
SSL handshake failed

Handshake не проходит, если клиент и сервер не поддерживают общие версии TLS или шифры. Включите TLS 1.2/1.3 и обновите ПО.

#Причины и признаки

Возможная причинаКак узнатьЧто делать
Старый TLSСравните обстоятельства появления ошибки с указанным признаком и не меняйте настройки без подтверждения.Обновите. После действия повторите исходную операцию.
Нет общих шифровСравните обстоятельства появления ошибки с указанным признаком и не меняйте настройки без подтверждения.Согласуйте.
Неверный сертификатСравните дату, время и часовой пояс; для ошибки HTTPS посмотрите имя сайта и срок действия сертификата, не обходя предупреждение.Исправьте.
Прокси/ПОСравните работу через другую сеть; если сбой остаётся только в одной сети, проверьте её настройки и ограничения.Отключите. После проверки восстановите прежнее состояние, если ошибка не исчезла.

#Пошаговое решение

  1. Проверьте openssl s_clientВ терминале с OpenSSL выполните openssl s_client -connect example.com:443 -servername example.com -showcerts, заменив адрес своим доменом. Проверьте согласованную версию TLS, список выданных сертификатов и сообщения проверки. Не отправляйте закрытый ключ на сторонние сайты.
  2. Включите TLS 1.2/1.3Администратору своего Nginx. Проверьте в действующем блоке server параметры ssl_protocols и совместимость клиентов. Для современных серверов допустим вариант ssl_protocols TLSv1.2 TLSv1.3; с поддерживаемыми шифрами, но сначала сохраните конфигурацию. На сервере выполните sudo nginx -t; только если тест успешен, sudo systemctl reload nginx. Посетителю менять TLS-настройки браузера ради обхода ошибки не следует.
  3. Обновите клиентЕсли несовместимость TLS возникла в вашем приложении, сначала узнайте его версию: обычно «Справка → О программе», для браузера — меню → «Справка → О браузере». Обновите приложение и операционную систему штатным способом. Для скрипта на собственном сервере проверьте версию библиотеки TLS и командой openssl version узнайте версию установленного OpenSSL (в терминале именно той машины, где работает клиент). После обновления повторите запрос к прежнему адресу. Не включайте устаревшие TLS 1.0/1.1 и не отключайте проверку сертификата: если сервер поддерживает только устаревший протокол, его должен исправить администратор.
  4. Проверьте прокси и перехват HTTPS, не отключая защитуЕсли ошибка видна только в офисной сети, сравните тот же HTTPS-адрес через мобильное подключение. На Windows откройте «Пуск → Безопасность Windows → Защита от вирусов и угроз → Журнал защиты», чтобы проверить сообщения о блокировке в момент сбоя; на управляемом ПК обратитесь к администратору прокси или средства TLS-инспекции. Посетителю не нужно вручную устанавливать неизвестные корневые сертификаты, добавлять исключения TLS или запускать curl -k. Администратор сайта должен отдельно проверить цепочку сертификатов и набор протоколов своего сервера.
  5. Проверка рукопожатия
    Linux · Терминал (Bash)Команда
    Проверка рукопожатия.
    openssl s_client -connect example.com:443 -servername example.com

#Проверка результата

Откройте тот же адрес, где возникало «SSL handshake failed — несовместимая версия TLS или шифры», в исходном браузере. Сравните с другим подключением и проверьте точный код ответа. Не используйте незащищённые обходы HTTPS как доказательство исправления.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.