我正在运行一个来自php脚本的curl请求,非常直接的
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://url-here');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postvars);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
curl_close($ch);
这在http上运行良好,但一旦我使用https,代码执行就不会通过curl_exec命令,我看不出错误是什么。客户端我只收到一个"连接重置"。
值得注意的是,如果我使用https://google.com.同样值得注意的是,从类似命令的方式运行它效果很好,因此从php脚本运行似乎是一个问题。
我添加了通常的CURLOPT_SSL_VERIFYPEER为false,但仍然没有乐趣。
然而,相同的代码在我的本地机器上工作,因此似乎与服务器隔离。
如果这有什么不同的话,那就是amazon ec2实例。
欢迎任何想法。
非常感谢
发现curl不是用SSL编译的。做了这些,一切都开始工作了。