#Что означает ошибка
Неполная цепочка
Сервер должен отдавать сертификат вместе с промежуточными. Используйте fullchain.pem и проверьте цепочку.
#Причины и признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Только leaf | Сравните обстоятельства появления ошибки с указанным признаком и не меняйте настройки без подтверждения. | fullchain. |
| Старый файл | Сверьте точное имя и расположение файла; попробуйте действие на копии без изменения исходника. | Обновите. После действия повторите исходную операцию. |
| Ошибка пути | Сверьте точное имя и расположение файла; попробуйте действие на копии без изменения исходника. | Исправьте. |
| Кэш CDN | Повторите действие после штатного закрытия приложения; очистка кэша нужна лишь после сохранения пользовательских данных. | Сбросьте. Перед этим сохраните настройки и локальные данные, которые могут быть потеряны. |
#Пошаговое решение
- Используйте fullchain.pemВладельцу HTTPS-сервера: выясните, какой файл сертификата подключён в веб-сервере. Для Let’s Encrypt в Nginx обычно требуется
ssl_certificate /etc/letsencrypt/live/ВАШ_ДОМЕН/fullchain.pem;, где ВАШ_ДОМЕН заменяется действительным доменом, а ключ указывается отдельной директивой. Сначала проверьте существование файлов и сохраните конфигурацию; не копируйте примеры вслепую и не публикуйте закрытый ключ. - Проверьте цепочкуОткройте терминал и выполните
openssl s_client -connect example.com:443 -servername example.com -showcerts </dev/null, заменив домен на свой. Проверьте выданные промежуточные сертификаты и сообщения проверки цепочки. Если сервер отправляет только конечный сертификат без нужного промежуточного, настройте полную цепочку от издателя. Кеш браузера не исправляет отсутствие сертификатов на origin. - Перезагрузите серверПосле изменения конфигурации выполните
sudo nginx -tи только при успехеsudo systemctl reload nginx(если ваш сервер действительно использует systemd и Nginx). Для Apache применяйте штатную проверкуapachectl configtestи его механизм перезагрузки. Перезапуск с потерей соединений не нужен: сначала используйте мягкое применение настроек, затем повторитеopenssl s_client. - Проверьте отдельные сертификаты CDN и исходного сервераЕсли сайт проксируется через CDN, уточните, где происходит TLS: посетитель видит сертификат CDN, а CDN отдельно соединяется с origin. Проверьте оба соединения и убедитесь, что сервер исправлен, даже если часть клиентов перестала сообщать ошибку. На Android и curl ошибка исчезнет после корректной полной цепочки, без отключения проверки сертификата.
#Проверка результата
Откройте тот же адрес, где возникало «Неполная цепочка сертификатов — ошибки на Android и в curl», в исходном браузере. Сравните с другим подключением и проверьте точный код ответа. Не используйте незащищённые обходы HTTPS как доказательство исправления.