为什么我在 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 中重现该错误,所以我不能确定。

相关内容