我正在使用cURL使用CURLOPT_POST
發送一些數據。相同的代碼工作正常之前,但移動到一個新的服務器後,cURL不再通過https
工作。來自其他站點的人(domain.com
)向我發送了日誌文件,並且他們沒有收到任何內容。然後,我試圖與curl_error()
得到一個錯誤,我面臨一個SSL問題,但不知道如何解決它。移動到新服務器後cURL的SSL問題
代碼:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,'https://track.domain.com/api.php');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $param);
curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
的錯誤是:
SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
我搜索了這個在谷歌,但不明白是什麼問題。
我需要我們域的SSL證書嗎?我不確定舊服務器中是否有SSL。你可以從代碼中看到,我不需要回報。那麼,在這種情況下,我是否也應該擁有SSL?
我需要domain.com
的證書嗎?
我是否需要聯繫託管公司重新編譯帶有SSL支持的cURL?
任何想法?
注:我不設置CURLOPT_SSL_VERIFYPEER
和CURLOPT_SSL_VERIFYHOST
到false
希望有一個解決方法。
curl_version():
Array
(
[version_number] => 464896
[age] => 3
[features] => 34333
[ssl_version_number] => 0
[version] => 7.24.0
[host] => i686-pc-linux-gnu
[ssl_version] => OpenSSL/0.9.8b
[libz_version] => 1.2.3
[protocols] => Array
(
[0] => dict
[1] => file
[2] => ftp
[3] => ftps
[4] => gopher
[5] => http
[6] => https
[7] => imap
[8] => imaps
[9] => pop3
[10] => pop3s
[11] => rtsp
[12] => smtp
[13] => smtps
[14] => telnet
[15] => tftp
)
)
我應該自己做還是最好聯繫託管公司? – enenen
你可以自己做,這是用戶可配置的空間。 – DevZer0
我的網站根本沒有SSL。其他網站有。我發送的數據如「發送並忘記」,即不需要返回。在這種情況下雙方是否都需要SLL?當服務器請求它需要 – enenen