SSL/TLS и сертификаты Windows 10Windows 11LinuxmacOS

HTTPS и сертификаты: Промежуточный сертификат отсутствует в цепочке сервера

  • Обновлено
  • Чтение ≈ 3 минуты
  • Нужны права администратора

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

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

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

#Что происходит и как отличить проблему

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

#Возможные причины

Возможная причинаКак узнатьЧто делать
Неполный файл цепочкиВ серверном файле только один PEM-блок листового сертификата.Разные клиенты по-разному доверяют одному сайту.Получить fullchain из официального клиента или центра.
Неверный порядок или чужой промежуточный сертификатСервер отдаёт промежуточный сертификат другой линии выпуска.На независимой проверке цепочка не строится.Переустановить правильную цепочку в заданном порядке.

#Пошаговая проверка и устранение

  1. Запишите конкретную ошибку браузераНа двух устройствах откройте точно один HTTPS-адрес и сравните наличие предупреждения. Не нажимайте «Продолжить». В панели сертификата посмотрите имя, срок и центр выпуска. Это помогает не спутать отсутствие промежуточного сертификата с неправильным именем или просроченным листовым сертификатом.
  2. Посмотрите, какие сертификаты отдаёт серверЕсли у вас Linux/macOS с установленным OpenSSL, откройте «Терминал» и выполните echo | openssl s_client -connect example.com:443 -servername example.com -showcerts, заменив оба example.com собственным доменом. Права администратора не нужны; -connect задаёт сервер и порт, -servername — SNI, -showcerts выводит переданные PEM-сертификаты. Если команда недоступна, используйте панель хостинга либо попросите администратора выполнить её. Наличие нескольких блоков не гарантирует правильность цепочки; проверьте также ошибку Verify return code.
  3. Найдите официальный комплект цепочкиВ панели центра сертификации или ACME-клиента найдите файл fullchain.pem (если он предусмотрен): обычно это листовой сертификат и промежуточные сертификаты в нужном порядке. Не скачивайте промежуточные сертификаты с случайного сайта и не публикуйте приватный ключ. Если хостинг управляет сертификатами автоматически, исправьте выпуск/привязку через его штатную панель.
  4. Проверьте настройку сервера до перезагрузкиЕсли используется nginx и вы администратор, сохраните резервную копию конфигурации и сертификата. Убедитесь, что директива ssl_certificate указывает на правильную цепочку для нужного server_name, а ssl_certificate_key — на соответствующий закрытый ключ. После изменения выполните sudo nginx -t на сервере; права администратора нужны, -t проверяет конфигурацию без применения. Только при успешной проверке выполните штатную перезагрузку конфигурации через панель или сервисный менеджер.
  5. Повторите независимую проверку цепочкиОткройте сайт в разных браузерах и из другой сети. Повторите команду openssl s_client для того же домена, проверьте число и порядок переданных сертификатов и отсутствие ошибок построения цепочки. Если ошибка осталась, верните резервную конфигурацию и проверьте промежуточный сервер CDN или балансировщик, который мог отдавать другую цепочку.
  6. Команды для отдельных ситуацийВыберите только подходящий вариант. Это не одна последовательность: часть команд диагностирует проблему, а часть меняет настройки или данные.
    Выберите подходящий вариант — это не команды для последовательного выполнения
    Вариант 1Linux/macOS с установленным OpenSSL; оба example.com заменить своим доменом.
    Linux · Терминал (Bash)Команда
    Linux/macOS с установленным OpenSSL; оба example.com заменить своим доменом. Читает переданные сервером сертификаты, не меняет настройки; завершение соединения может отображать служебные сообщения.
    echo | openssl s_client -connect example.com:443 -servername example.com -showcerts
    Вариант 2В терминале самого Linux-сервера nginx; sudo запрашивает права администратора, -t проверяет синтаксис и дос…
    Linux · Терминал (Bash)КомандаНужен sudo
    В терминале самого Linux-сервера nginx; sudo запрашивает права администратора, -t проверяет синтаксис и доступность сертификатов без перезагрузки. При ошибке конфигурацию не применять.
    sudo nginx -t

#Проверка результата и дальнейшие действия

Сервер должен предоставлять полный набор промежуточных сертификатов, соответствующий листовому; браузеры доверяют цепочке без ручного импорта новых корневых сертификатов. Окончательно проверить результат надо на реальном домене после применения.

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

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

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