為什麼我在 python 2.7.9+ 中偶爾會收到 SSL: CERTIFICATE_VERIFY_FAILED?

為什麼我在 python 2.7.9+ 中偶爾會收到 SSL: CERTIFICATE_VERIFY_FAILED?

首先我要說的是,我知道 Python 2.7.9 對驗證 SSL 憑證的變更。我還知道有幾種不同的方法可以繞過它來關閉它。我的問題是,為什麼我偶爾會收到此錯誤?我想,如果出現問題,它總是會失敗,但這不是我所看到的。我一整天都在編寫一些程式碼,這些程式碼碰巧正在使用 發出一些請求urllib,但我突然開始收到以下錯誤:

URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)>

當我寫這個問題時,我隱藏並彈出了我的更改(在 git 中),錯誤就停止了。為什麼不一致?

更新:此錯誤在 Python 3 中也會發生,但它始終發生。

答案1

我可能已經解決了這個問題。原來我的apache配置缺少這個SSLCertificateChainFile設定。我確信這可以修復 Python 3 錯誤,因為它一直在發生。我認為它也不會再出現在 Python 2.7.9 中,但沒有辦法在 Python 2 中重新建立錯誤,所以我不能確定。

相關內容