为什么我们在Windows中需要CURLOPT_SSL_VERIFYPEER
我将稍微解释一下我的脚本,以便您可以理解我的问题。
基本上我做了一个脚本来检查SOCKS5是live
还是dead
。
当我在上面测试我的脚本时Linux
VPS,iMac
它运行良好,但是当我在Windows上wampserver
对其进行测试时,直到我将以下行添加到cURL
:
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
谁能向我解释为什么我在Windows中需要此行,而在Linux服务器上却不需要?
回答:
SSL证书上的此cURL手册页介绍了连接到SSL / TLS受保护主机时
的过程。
你需要来设置的原因CURLOPT_SSL_VERIFYPEER
,以false
在Windows上是因为CA捆绑使用它来验证证书丢失(或有被编译成卷曲,所以你需要明确定义它没有默认路径)。
您可以php.ini
使用curl.cainfo指令配置它,或者在运行时使用以下命令指定它:
curl_setopt($curl, CURLOPT_CAFILE, 'C:/path/to/ca-bundle.crt');
如果您没有副本,请在这里获取最近的副本。
尽管禁用对等验证是一种解决方法,但这可能是不安全的,因为您正在禁用非常检查,以确保与您认为的网站安全地通信。
任何人都可以生成自签名证书来模拟域,但是如果无法验证证书,则浏览器或客户端(例如cURL)将失败,除非您忽略或绕过此检查(即CURLOPT_SSL_VERIFYPEER
= false)。
以上是 为什么我们在Windows中需要CURLOPT_SSL_VERIFYPEER 的全部内容, 来源链接: utcz.com/qa/424229.html