← К поиску технических решений

Диагностика проблем с HTTPS после обновления SSL-сертификата

Техническая проблемаПО и оборудованиеСложностьВремя
❗ Что произошло?

Проверим с клиента, что именно ломается при TLS-рукопожатии, убедимся в корректности цепочки сертификатов и соответствии приватного ключа, а также исключим проблемы SNI/CDN.

⚙ Вероятная причина

Чаще всего: неотправляется промежуточный сертификат (неполная цепочка), установлен не тот сертификат/домен, несоответствие приватного ключа, SNI/балансировщик отдает старый сертификат, служба не перечитала новый сертификат.

◉ Что сделать в первую очередь?

Выполните внешнюю проверку соединения с включенной диагностикой TLS для вашего домена: curl -vkI https://<домен>

Пошаговая инструкция

Шаги
1

Быстрая внешняя проверка HTTPS

Проверьте, что сообщает клиент о TLS/сертификате и статусе ответа.

curl -vkI https://<домен>
Ищите сообщения вроде SSL certificate problem, hostname mismatch, certificate has expired или неверные редиректы.
2

Проверка рукопожатия и цепочки сертификатов

Посмотрите, что реально отдает сервер (листьевой и промежуточные сертификаты), и код проверки.

openssl s_client -connect <домен>:443 -servername <домен> -showcerts </dev/null
В конце ищите Verify return code: 0 (ok). Если не 0 или цепочка неполная/прерывается — сервер не отдает полный bundle.
3

Проверка сроков и SAN у выданного сертификата

Убедитесь, что сертификат действителен и содержит нужный домен в SAN.

openssl s_client -connect <домен>:443 -servername <домен> </dev/null 2>/dev/null | openssl x509 -noout -dates -subject -ext subjectAltName
notAfter в будущем; в subjectAltName должен быть ваш домен (и поддомены, если нужно).
4

Если есть доступ к файлам сертификата: сверка с приватным ключом

Проверьте, что установленный сертификат соответствует приватному ключу, который использует веб-сервер.

openssl x509 -noout -modulus -in /path/to/cert.pem | openssl md5 && openssl rsa -noout -modulus -in /path/to/privkey.pem | openssl md5
Хэши должны совпасть. Несовпадение даст ошибку рукопожатия/запуска TLS.
5

Проверка SNI/балансировщика/CDN

Убедитесь, что правильный сертификат отдается со всех точек. Сравните ответы по доменному имени и по IP, а также через CDN/балансировщик.

openssl s_client -connect <IP_сервера>:443 -servername <домен> </dev/null | openssl x509 -noout -subject -issuer
Если по IP/без SNI отдается другой сертификат, настройте SNI/виртуальный хост или обновите сертификат на CDN/LB.
6

Перечитывание конфигурации и повторная проверка

После исправлений (установка полного chain/bundle, корректного cert+key) перечитайте конфигурацию веб-сервера и перепроверьте шаги 1–3.

Используйте без простой перезапуск, по регламенту. Проверьте несколько точек/провайдеров при наличии CDN.

Что делать дальше?

Инструкция помогла?

Результат может зависеть от конкретной системы и конфигурации.

Каталог решений →