gpt4 book ai didi

PHP CURL CURLOPT_SSL_VERIFYPEER 被忽略

转载 作者:太空宇宙 更新时间:2023-11-03 14:49:31 24 4
gpt4 key购买 nike

出于某种原因,我无法将 CURL 与 HTTPS 结合使用。在我运行 curl 库升级之前,一切都运行良好。现在我在尝试执行 CURL 请求时遇到此响应:Problem with the SSL CA cert (path? access rights?)

根据此处发布的有关相关问题的建议,我已尝试执行以下操作:

  • 禁用主机和对等方的验证

    curl_setopt($cHandler, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($cHandler, CURLOPT_SSL_VERIFYPEER, true);
  • 启用CURLOPT_SSL_VERIFYPEER 并指向从http://curl.haxx.se/docs/caextract.html 下载的cacert.pem

    curl_setopt($cHandler, CURLOPT_SSL_VERIFYPEER, true);  
    curl_setopt($cHandler, CURLOPT_CAINFO, getcwd() . "/positiveSSL.ca-bundle");
  • 我还尝试对 positiveSSL.ca-bundle 做同样的事情,它作为我尝试连接的服务器的捆绑 CA 证书提供。

  • 使用 curl.cainfo=cacert.pem 编辑 php ini 设置(文件在同一目录中并可由 apache 访问)

  • /etc/pki/nssdb 重命名为 /etc/pki/nssdb.old

不幸的是,以上都不能解决我的问题,我经常收到 SSL CA 证书问题(路径?访问权限?)消息。

而且我一开始就不需要这种验证(我知道安全问题)。

还有其他建议吗?

更新

在更新到最新的库并重新启动整个盒子之后,不仅仅是我正在做的 apache 现在似乎又可以工作了!!!

最佳答案

根据文档:要验证主机或对等证书,您需要使用 CURLOPT_CAINFO 选项指定备用证书,或者可以使用 CURLOPT_CAPATH 选项指定证书目录。

另请参阅 CURLOPT_SSL_VERIFYHOST:

  • 1 检查 SSL 对等证书中是否存在通用名称。
  • 2 检查通用名称是否存在,并验证它是否与提供的主机名匹配。

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

关于PHP CURL CURLOPT_SSL_VERIFYPEER 被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35742722/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com