錯誤:使用cURL「SSL/TLS 握手中的某處出現問題」
在cURL 領域,使用者可能會遇到神秘的錯誤訊息:「SSL/TLS 握手中的某處出現問題。」當cURL 在透過HTTPS 建立安全連線時遇到困難時,就會出現這個令人困惑的問題。
問題
所提供的上下文揭示了開發人員的困境,cURL 可以完美地處理HTTP 請求,但會出現問題當遇到HTTPS 時,即使使用不同的協定定位相同的資源。 cURL 的錯誤回應(代碼 35)指向 SSL/TLS 握手中的問題。
嘗試失敗
開發人員精心探索了潛在的解決方案,包括停用憑證SSL 憑證驗證(CURLOPT_SSL_VERIFYPEER) 並嘗試下載和設定憑證機構(CA) 憑證授權單位(CA) 憑證授權單位(CA) 憑證授權單位(CA) 憑證授權單位(CA) 憑證授權單位(CA) (CURLOPT_CAINFO)。然而,這些努力被證明是徒勞無功的。
解決方案
經過深入研究這個問題,我們的專家發現 cURL 缺乏內建根證書。要修正此問題,開發人員必須明確將 cURL 導向至受信任的 CA 憑證檔案 (cacert.pem)。透過使用 CURLOPT_CAINFO 指定該檔案的路徑,cURL 可以驗證遠端伺服器提供的 SSL 憑證的真實性。
可以從信譽良好的來源取得 cacert.pem 文件,例如官方 cURL 文件(http://curl.haxx.se/docs/caextract.html)。透過合併此證書,cURL 可以建立安全連線並檢索要求的 HTTPS 資源。
以上是使用 HTTPS 時,為什麼 cURL 會拋出「SSL/TLS 握手中某處出現問題」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!