尝试在两个服务器之间进行通信时,Curl 出现“无法识别对等方的证书颁发者”错误

尝试在两个服务器之间进行通信时,Curl 出现“无法识别对等方的证书颁发者”错误

我有两台服务器AB它们托管的网站在使用 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 的证书链:

在此处输入图片描述

相关内容