1

突然之间,我通过 SSL 访问网站的 PHP cURL 实现停止工作。在 cURL 响应标头中进行了一些挖掘之后,我发现问题是 cURL 不喜欢站点 SSL 证书的结果,给出了错误:

错误:14090086:SSL 例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败

现在我没有在其他网站上测试它,我知道有一些解决方案可以将 Mozilla 的证书添加到 cURL。但是为了让东西正常工作,我只是添加了一个新的 cURL 选项来禁用 SSL 有效性检查 (CURLOPT_SSL_VERIFYHOS)。

但我仍然对这如何在一天之内停止工作感到困惑。它昨天奏效了。网站上的证书没有改变,它仍然是威瑞信颁发的有效、未过期的证书。

4

2 回答 2

1

上个月我也遇到过这种情况,唯一的原因是有问题的 SSL 证书已过期。所以我只是更新了它,curl ssl 链接再次工作。如果您碰巧处理自签名证书,顺便说一句,您可以导入它或切换验证。

这是我唯一能想到的,但你说你已经证实了……很奇怪。有没有机会查看该站点的证书或者它是私有的?如果您没有更改任何内容,那么几乎可以肯定 SSL 证书发生了一些事情。

于 2012-09-19T12:06:45.060 回答
0


在 curl CURLOPT_SSL_VERIFYPEER, FALSE
CURLOPT_SSL_VERIFYHOST, 2中尝试这两个选项

于 2012-09-19T07:23:29.377 回答