我一直在本地开发一个站点,该站点针对集中式登录进行身份验证。其中一个步骤是要求我向 https 资源发出 curl 请求以获取访问令牌。
curl 配置的一部分是:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
//curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
如您所见,我注释掉了 CURLOPT_SSL_VERIFYHOST 选项。我已阅读 php.net 和各种博客/stackoverflow(禁用 CURLOPT_SSL_VERIFYHOST (libcurl/openssl) 的安全后果)帖子这些选项的含义。
在我的开发机器CURLOPT_SSL_VERIFYHOST 2
上一直运行良好。我只是使用 ubuntu 12.04 php5 包和 php5-curl 中提供的 vanilla php 安装。
在生产(机架空间云站点)上CURLOPT_SSL_VERIFYHOST 2
不起作用,这就是为什么我将其更改为 false 以验证这是问题所在。看到我没有明确地在我的本地主机上启用它,我不知道是什么指令/配置选项控制它。
我的意思是“不工作”是在生产中 curl 调用正在返回一个http_code
of0
当VERIFYHOST
设置为2
. 当我将它设置为它时,FALSE
它返回一个状态代码200
我的问题是:
如何SSL_VERIFYHOST
在 linux 机器上启用?
任何帮助将不胜感激。谢谢你。