Назад | Перейти на главную страницу

У сертификата нет известного эмитента

Срок действия сертификата TLS (SSL) на одном из моих сайтов истек вчера. Приобрел новый - и установил на сайте (работает на Debian 9 под nginx). Теперь, когда я захожу на сайт из Windows или Mac, сертификат обрабатывается правильно, и все в порядке.

В то же время у меня есть служба, которая работает на этом же сервере и подключается к этому же сайту. После обновления сертификата эта служба перестала работать. Пытаясь отладить это, я понял, что сама система, в которой установлен сертификат, не доверяет издателю. Используя wget, я получаю такую ​​ошибку:

У сертификата нет известного эмитента

Используя curl, я получаю эту ошибку:

Проблема с сертификатом SSL: невозможно получить сертификат местного эмитента

Похоже, это указывает на отсутствие сертификата CA в системе. Я пробовал бежать update-ca-certificates и dpkg-reconfigure ca-certificates. Оба процесса успешно завершаются, однако проблема не устраняется.

Вот сведения о сертификате из Chrome на Mac:

Я попытался вручную добавить сертификат корневого эмитента в хранилище ca-certs и update-ca-certificate, однако это привело к предупреждению о дублировании сертификата.

Как я могу решить эту проблему? Отключение проверки сертификата НЕ вариант; доступ к сайту через HTTP тоже не вариант.

Это больше похоже на проблему, когда вы неправильно установили новый сертификат, так что в рукопожатии TLS предоставляется только сертификат сервера, но не промежуточный сертификат (сертификаты). Браузер обычно успешно пытается обойти такую ​​неправильную конфигурацию и сам заполнить недостающие сертификаты цепочки, в то время как другой клиент этого не делает. Пожалуйста, сравните свой сайт с SSLLabs и обратите внимание на "проблемы с цепочкой" - затем убедитесь, что вы правильно перенастроили свой сайт, чтобы у вас больше не было этих проблем с цепочкой.