卷曲失败错误
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');

07-25 23:01
查看更多