【问题标题】:SSLError in python application, after certificate updatepython应用程序中的SSLError,证书更新后
【发布时间】:2021-12-19 05:43:55
【问题描述】:

作为更新部署在 Kubernetes 中的 Web 服务器的 SSL/TLS 证书的一部分(当前证书即将过期),我使用新的 crt 和密钥更新了 Kubernetes 机密 (kubernetes.io/tls)。

之后,应用程序在浏览器中运行良好。 但是,对服务器的 API 调用(来自在一些 pod 中运行的一些 python 应用程序)遇到了一些 SSLError。

如果我恢复服务器的旧证书,同样会起作用。

错误是:

requests.exceptions.SSLError: HTTPSConnectionPool(host='hostname', 端口 = 443):最大重试次数超出 url:URL(由 SSLError(SSLCertVerificationError(1,'[SSL:CERTIFICATE_VERIFY_FAILED] 证书验证失败:无法获取本地颁发者证书 (_ssl.c:1131)')))

我尝试通过以与 pfx 文件不同的方式创建 crt 和密钥来解决此问题。 但问题依然存在。

我进行了一些搜索 - 如果在 Kubernetes 集群中作为证书更改的一部分进行更新,但我找不到解决方案。

任何帮助将不胜感激。

【问题讨论】:

  • "host='hostanme'" 错字?
  • @KlausD。我纠正了错字,我掩盖了实际的主机名和网址
  • 用的是什么python版本?以及安装了哪些版本的包requestscertifi
  • @Robert Python -> 3.8.10, requests->2.25.1, certifi->2021.10.8

标签: ssl https openssl ssl-certificate


【解决方案1】:

问题是,我安装的证书没有中间证书。浏览器可以通过搜索丢失的证书来“填补空白”。使用完整链重新安装证书解决了问题

【讨论】:

    猜你喜欢
    • 2016-08-26
    • 2011-09-10
    • 2021-05-29
    • 1970-01-01
    • 2016-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-17
    相关资源
    最近更新 更多