CSR.pluscsr.plus
← Назад к статьям
Устранение неполадок2026-08-15•5 мин чтения

Сбой рукопожатия SSL: 11 причин и способы исправления

· Команда CSR.plus

Сбой рукопожатия SSL: 11 причин и способы исправления
  • •Сбой рукопожатия почти всегда сводится к одной из 11 причин: сертификат, шифр, SNI, протокол или сеть.
  • •Диагностируйте по порядку: срок действия, соответствие имени, полнота цепочки, затем версии TLS и шифры.
  • •Большинство сбоев устраняются правильной промежуточной цепочкой или поддерживаемым набором шифров.
Цепочка
Самая частая причина
отсутствует промежуточный сертификат
Шифр
2-я по частоте
несовпадение наборов сервера/клиента
<10 мин
Типичное время
при правильной диагностике
Все
Браузеры
те же причины везде

Что происходит при сбое рукопожатия

Во время TLS-рукопожатия клиент и сервер должны согласовать версию протокола, набор шифров и действительную цепочку сертификатов. Сбой на любом шаге прерывает соединение. Частые точки: истёкший сертификат, имя хоста не покрыто, неполная цепочка (сервер отправляет лист без промежуточного), неподдерживаемая версия TLS, несовместимые шифры, отсутствие SNI или файрвол/NAT, отбрасывающий ClientHello.

Диагностика за минуту

Выполните openssl s_client -connect вашдомен.ru:443 -servername вашдомен.ru и прочитайте вывод. «Verify return code: 0» — цепочка в порядке. «unable to get local issuer certificate» — не хватает промежуточного сертификата. «no peer certificate available» или пустая строка после CONNECTED — сервер так и не завершил рукопожатие: проблема протокола или шифра. Ошибки консоли браузера дополняют картину со стороны клиента.

Решения для 5 самых частых причин

1) Нет промежуточного: скачайте бандл CA и склейте лист + промежуточный в правильном порядке. 2) Несовпадение шифров: включите общий набор вроде TLS_AES_256_GCM_SHA384 (TLS 1.3) или ECDHE-RSA-AES256-GCM (TLS 1.2). 3) Версия TLS: включите TLS 1.2 и 1.3, отключите более старые. 4) Имя/SNI: убедитесь, что сертификат покрывает точный хост и SNI включён. 5) Сеть: проверьте, что порт 443 открыт и что балансировщик или CDN не завершает TLS со своими настройками.

FAQ

Почему рукопожатие не удаётся в браузере, но работает в curl?

Клиенты поддерживают разные версии TLS и шифры. Если curl работает, а старый браузер нет, клиент не поддерживает согласованную версию — включите минимум TLS 1.2.

Может ли файрвол вызывать сбои рукопожатия?

Да. Некоторые файрволы и NAT молча отбрасывают большие ClientHello или блокируют TCP-порты. Проверьте нестандартным портом или захватом пакетов.

UptimeRobot

Следите за SSL и аптаймом бесплатно

UptimeRobot круглосуточно проверяет ваши сертификаты и эндпоинты — 50 мониторов в бесплатном тарифе.

Попробовать UptimeRobot БЕСПЛАТНО

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

Бесплатные SSL/TLS инструменты

Проверяйте сертификаты за секунды.

Похожие статьи