【问题标题】:How to fix urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)> Error如何修复 urlopen 错误 [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败 (_ssl.c:590)> 错误
【发布时间】:2019-07-03 03:38:52
【问题描述】:

我目前正在 Kubernetes 中运行 Sentry,并使用 let's encrypt 和 cert-manager 自动生成证书。当 Sentry 尝试向 sentry 服务器发送错误时,会抛出以下错误:

urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)> (url: https://example.host.com/)

我已验证已安装了适用于 2.7.15 的正确 python 包。包包括 certifiurllib2 以及依赖项。

关闭 TLS 验证有效,但这是最后的手段。即使这是内部托管的服务,安全性也非常重要。

【问题讨论】:

    标签: python-2.7 kubernetes sentry


    【解决方案1】:

    根据我的经验,即使是最新的ca-certificates 软件包有时也不会包含所有3 Let's Encrypt certificates。解决方案(?)是将它们下载到“用户控制的”证书目录(通常为/usr/local/share/ca-certificates),然后重新运行update-ca-certificates

    # the first one very likely is already in your chain,
    # but including it here won't hurt anything
    for i in isrgrootx1.pem.txt lets-encrypt-x3-cross-signed.pem.txt letsencryptauthorityx3.pem.txt
    do
        curl -vko /usr/local/share/ca-certificates/`basename $i .pem.txt`.crt \
            https://letsencrypt.org/certs/$i
    done
    update-ca-certificates
    

    理想的结果是为集群中的每个节点执行该过程,然后将 actual ssl 目录卷挂载到容器中,这样每个容器都可以从最新证书中受益。但是,我猜想在受影响的容器中执行此操作也可以。

    【讨论】:

      【解决方案2】:

      yum update ca-certificates.noarch 成功了。

      【讨论】:

      • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
      猜你喜欢
      • 2015-12-21
      • 1970-01-01
      • 1970-01-01
      • 2020-04-06
      • 2020-03-04
      • 1970-01-01
      • 2021-09-17
      • 1970-01-01
      • 2017-11-21
      相关资源
      最近更新 更多