You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用requests请求报SSLError但openssl验证正常问题求助

解决Docker容器中Requests SSL证书验证失败问题

针对你遇到的requests.exceptions.SSLError错误,即便openssl s_client验证正常,仍可通过以下方法排查解决:

  • 确认Requests依赖的证书池
    Requests默认使用certifi库提供的证书存储,而非系统证书池。在容器内执行以下命令查看证书路径:

    python -c "import certifi; print(certifi.where())"
    

    检查该路径下的证书文件是否包含GlobalSign根证书。若缺失,可将宿主机的系统证书(如/etc/ssl/certs/ca-certificates.crt)复制到容器内,然后在请求中指定证书路径:

    import requests
    response = requests.get('https://redmine.promomed.pro/issues/6081.json?include=journals', verify='/path/to/your/ca-certificates.crt')
    

    或设置环境变量让Requests全局使用该证书:

    export REQUESTS_CA_BUNDLE=/path/to/your/ca-certificates.crt
    
  • 更新容器内系统证书存储
    根据容器镜像的基础系统执行证书更新:

    • Debian/Ubuntu系镜像:
      apt update && apt install -y ca-certificates && update-ca-certificates
      
    • Alpine系镜像:
      apk add --no-cache ca-certificates && update-ca-certificates
      

    更新后重启你的Python应用,让Requests优先使用系统证书池。

  • 排查代理干扰
    若容器配置了HTTP/HTTPS代理,代理可能会替换SSL证书导致验证失败。尝试临时关闭代理后重新发起请求,确认是否是代理问题。

内容的提问来源于stack exchange,提问作者maskalev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 21:43:08