关于curl CURLOPT_SSL_VERIFYHOST 参数设置的问题

潘佐
2023-12-01

最近遇到的问题:一个项目从服务器A完整移到服务器B,两者同时4G的,结果发现在B上的接口运行效率明显比在原来的A上慢好多。通过对比服务器的配置信息和所有代码数据,再然后排查错误日志,发现了下面的报错:

curl_setopt(): CURLOPT_SSL_VERIFYHOST no longer accepts the value 1,value 2 will be used instead in cron.php on line 9

然后,我便找度娘聊了聊,发现:

CURLOPT_SSL_VERIFYHOST的值

  • 设为0表示不检查证书
  • 设为1表示检查证书中是否有CN(common name)字段
  • 设为2表示在1的基础上校验当前的域名是否与CN匹配

libcurl早期版本中这个变量是boolean值,为true时作用同目前设置为2,后来出于调试需求,增加了仅校验是否有CN字段的选项,因此两个值true/false就不够用了,升级为0/1/2三个值。

再后来(libcurl_7.28.1之后的版本),这个调试选项由于经常被开发者用错,被去掉了,因此目前也不支持1了,只有0/2两种取值。

curl参数设置的问题 有关CURLOPT_SSL_VERIFYHOST

https://www.51-n.com/t-4265-1-1.html

虽然不是很明白,总之true值是不能用了,要用2替代是吧,好,我就改2。哎嘿,在运行之后,真多好了,运行效率高了很多。问题解决了,但我是有点小疑问,为什么之前的服务器A上用true的时候没法出现问题呢,wamp安装的也都是同样的环境版本。。。

 类似资料: