我正在尝试使用 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 选项来解决这个问题?