用cURL 解決SSL/TLS 握手問題
遇到臭名昭著的cURL 錯誤35,「SSL/TLS 握手中某處出現問題,”可能會令人沮喪。此錯誤訊息表示即使 cURL 與 HTTP 協定完美配合,在 HTTPS 請求期間建立安全連線也存在困難。
嘗試的常見解決方案是將 CURLOPT_SSL_VERIFYPEER 設為 false,但這被證明是無效的。然而,解決這個問題的關鍵在於為 cURL 提供必要的證書頒發機構資訊。
與現代瀏覽器不同,cURL 不具備內建根憑證。若要驗證 SSL 連線期間收到的證書,需要 cacerts.pem 檔案的明確路徑。此檔案包含允許 cURL 信任伺服器憑證的根憑證。
要正確配置 cURL,請按照以下步驟操作:
curl_setopt($ch, CURLOPT_CAINFO, '/path/to/cert/file/cacert.pem');
透過提供此文件,cURL 將能夠驗證伺服器的憑證並建立安全的 HTTPS 連接。 cacerts.pem 檔案可以從 cURL 官方文件網站取得。
請記住,此文件可用於所有後續透過 cURL 建立的 SSL 連接,從而簡化設定過程。
以上是如何修復 cURL 錯誤 35:「SSL/TLS 握手中出現問題」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!