卷曲失败错误
SSL连接错误
服务器开放SSL版本:
OpenSSL 1.0.1e-fips 2013年2月11日
建立于:2016年5月9日星期一CDT 30:30:30
服务器curl -V:
curl 7.19.7(x86_64-redhat-linux-gnu)libcurl / 7.19.7 NSS / 3.13.6.0 zlib / 1.2.3 libidn / 1.18 libssh2 / 1.4.2
卷曲代码:
$ch = curl_init();
curl_setopt($ch, CURLOPT_PROXY, $this->config_proxy);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: text/xml', 'Expect: '));
curl_setopt($ch, CURLOPT_URL, $this->url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, true);
curl_setopt($ch, CURLOPT_TIMEOUT, $this->config_timeout);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSLVERSION, 6);
curl_setopt($ch, CURL_SSLVERSION_TLSv1, 1);
$output = curl_exec($ch);
$responseCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
有没有任何可能的方式可以运行此curl而不更新服务器上的curl版本,因为我的客户端命令不要更新服务器上的curl版本
最佳答案
这是SSL握手,您的网络服务器日志说什么?
您可以使用流上下文并将其设置为使用所有密码,如下所示:
$context = stream_context_create(array(
'ssl' => array(
// set some SSL/TLS specific options
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true,
'ciphers' => 'ALL'
)
));
或者,您可以尝试在curl中设置SSL密码列表,例如:
curl_setopt($curl, CURLOPT_SSL_CIPHER_LIST, 'ECDHE-RSA-AES128-GCM-SHA256,ECDHE-ECDSA-AES128-SHA');