将 cURL 与 SNI(服务器名称指示)一起使用
我正在尝试使用cURL发布到刚刚开始使用SNI的API(因此他们可以在1个IP地址上托管多个SSL证书)。
由于迁移到SNI,我的cURL停止工作。他们解释说,这是因为cURL正在恢复*.domain-a.com 而不是*.domain-b.com 所以SSL失败了。
这似乎是 cURL 中的一个错误,因为从浏览器访问 API URL 时没有错误。
使用此代码,它确实有效:
exec('curl -k -d "parameters=here", https://urlhere.com/', $output);
print_r($output);
但是,使用 -k 是不好的,因为它不会验证 SSL 证书。
使用此代码不起作用:
exec('curl -d "parameters=here", https://urlhere.com/', $output);
print_r($output);
所以我的问题是,我如何将curl与SNI一起使用,同时仍然验证SSL(不必使用-k)。PHP 中是否有其他设置或我可以设置的 cURL 选项来解决此问题?