curl:(51):SSL证书使用者名称与目标主机名不匹配

时间:2017-06-08 20:53:13

标签: ssl curl

我遇到的问题是我的SSL证书使用者名称'确实匹配'目标主机名但却引发了错误

     bash-4.1$ curl -X GET --cacert ./server-cert.pem --cert ./client-cert.pem --key ./client-key.pem 'https://PHXC02NX7CBG3QD:9001'
curl: (51) SSL: certificate subject name 'PHXC02NX7CBG3QD' does not match target host name 'PHXC02NX7CBG3QD'

可以看出,两个名称都匹配,但由于原因而引发错误。

任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:6)

在curl请求中将CURLOPT_SSL_VERIFYHOST等于FALSE

    $url = 'https://aa.com';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    if (curl_exec($ch) === false) {
        echo 'Curl error: ' . curl_error($ch);
    } else {
        echo 'Operation completed without any errors';
    }
    $content = curl_exec($ch);
    curl_close($ch);