у меня два сервера А
и Б
на которых размещаются веб-сайты, которые отлично работают в браузере с https. Значок замка в браузерах показывает активные и доверенные сертификаты SSL.
Я пытаюсь запустить curl, чтобы сервер А
может говорить с сервером Б
, но я сталкиваюсь с ошибкой.
- Сервер А -
$ завиток https://dev.partsvu.com
CA-файл: /etc/pki/tls/certs/ca-bundle.crt
curl: (60) Эмитент Peer's Certificate не распознан.
Я провел некоторое исследование на сайтах Stack Overflow и столкнулся со многими вопросами, однако их решения не сработали для меня.
Сначала я попытался загрузить файлы сертификатов для сервера Б
из отчета SSL Labs и вручную добавил список сертификатов в /etc/pki/tls/certs/ca-bundle.crt
файл на сервере А
но я все еще получаю ту же ошибку.
Я также убедился, что сервер Б
сертификат действителен со следующим:
- Сервер Б -
openssl x509 -dates -noout < /etc/pki/tls/certs/cloudflare.pem
notBefore=6 мая 21:25:00 2022 по Гринвичу
notAfter=2 мая 21:25:00 20:37 по Гринвичу
Я также пытался скопировать содержимое /etc/pki/tls/сертификаты/cloudflare.pem
на сервере Б
непосредственно к /etc/pki/tls/certs/ca-bundle.crt
на сервере А
но такая же ошибка.
Наконец, я попытался посетить сервер Б
в Chrome и загрузил файл crt, который он показывает в https://cacerts.digicert.com/CloudflareIncECCCA-3.crt
, преобразовал его в pem с помощью:
openssl x509 -inform DES -in CloudflareIncECCCA-3.crt -outoutcert.pem
и добавил это к тому же ca-bundle.crt
файл на сервере А
.
Та же ошибка при попытке запустить curl.
Вот цепочка сертификатов от Chrome: