我有两台服务器A
,B
它们托管的网站在使用 https 的浏览器中运行良好。浏览器中的锁定图标显示有效且受信任的 SSL 证书。
我正在尝试运行 curl 以便服务器A
可以与服务器通信B
,但是遇到了错误。
- Server A -
$ curl https://dev.partsvu.com
CAfile: /etc/pki/tls/certs/ca-bundle.crt
curl: (60) Peer's Certificate issuer is not recognized.
我对 Stack Overflow 网站进行了一些研究,遇到了很多问题,但是他们的解决方案对我没有用。
我首先尝试从 SSL Labs 报告下载服务器的证书文件B
,并手动将证书列表添加到/etc/pki/tls/certs/ca-bundle.crt
服务器上的文件中A
,但仍然出现相同的错误。
我还确保服务器B
证书有效,如下所示:
- Server B -
openssl x509 -dates -noout < /etc/pki/tls/certs/cloudflare.pem
notBefore=May 6 21:25:00 2022 GMT
notAfter=May 2 21:25:00 2037 GMT
/etc/pki/tls/certs/cloudflare.pem
我也尝试将服务器上的内容B
直接复制到/etc/pki/tls/certs/ca-bundle.crt
服务器上A
,但出现同样的错误。
最后,我尝试B
使用 Chrome 访问服务器并下载了它在 处显示的 crt 文件https://cacerts.digicert.com/CloudflareIncECCCA-3.crt
,然后使用以下命令将其转换为 pem:
openssl x509 -inform DES -in CloudflareIncECCCA-3.crt -out outcert.pem
并将其添加到ca-bundle.crt
服务器上的同一个文件中A
。
尝试运行 curl 时出现同样的错误。
以下是 Chrome 的证书链: