【问题标题】:cURL stopped working for HTTPS sitescURL 停止为 HTTPS 站点工作
【发布时间】:2012-09-18 20:46:07
【问题描述】:

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

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

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

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

【问题讨论】:

  • 嗯,一定有什么改变了?也许提供一些关于 PHP/curl 版本和操作系统的信息。我会再次获取 CA 证书,你的证书包可能是被冲洗掉的。好资源:curl.haxx.se/docs/sslcerts.html

标签: php curl libcurl


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2015-03-07
      • 2010-10-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多