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

Poetry配置自签名CA源后无法处理重定向SSL验证问题

解决指定PyPI源安装包时的SSL验证失败问题

你的推测完全正确——问题出在Poetry访问pypi.org时,错误地使用了你配置的自签名CA证书验证pypi.org的官方证书,导致验证不通过。这是因为当你设置自定义源的CA证书后,若环境SSL信任链被限制为仅信任该自签名CA,或Poetry全局SSL配置被意外覆盖,就会影响所有HTTPS请求,包括对pypi.org的请求。

解决方法

1. 确保证书配置仅针对自定义PyPI源

先检查Poetry的证书配置,避免全局覆盖:

  • 查看当前所有证书相关配置:
    poetry config --list | grep certificate
    
  • 如果存在全局的certificates.default.cert配置,立即删除:
    poetry config certificates.default.cert --unset
    
  • 确认仅自定义源mypypiserver绑定了CA证书(你已配置,可再次确认):
    poetry config certificates.mypypiserver.cert /path/to/ca.crt
    

2. 让Poetry同时信任系统根CA和自定义CA

需要让Poetry的SSL信任链同时包含系统默认根CA(验证pypi.org)和自签名CA(验证自定义PyPI服务器),有两种方式:

方式A:合并CA证书到系统信任存储

  • Linux:
    sudo cp /path/to/ca.crt /usr/local/share/ca-certificates/
    sudo update-ca-certificates
    
  • macOS:
    打开「钥匙串访问」应用,导入ca.crt,右键点击证书选择「显示简介」,在「信任」选项卡设置「使用此证书时」为「始终信任」。
  • Windows:
    打开控制面板→「管理工具」→「计算机管理」→「证书(本地计算机)」→「受信任的根证书颁发机构」,右键「所有任务」→「导入」,选择ca.crt完成导入。

方式B:使用合并的CA证书文件(无需修改系统配置)

  • 把系统默认根CA文件和自签名CA合并成一个文件:
    # Linux示例
    cat /etc/ssl/certs/ca-certificates.crt /path/to/ca.crt > ~/combined_ca.crt
    # macOS示例
    cat /etc/ssl/cert.pem /path/to/ca.crt > ~/combined_ca.crt
    
  • 运行Poetry时指定该合并文件:
    REQUESTS_CA_BUNDLE=~/combined_ca.crt poetry add --source pypi matplotlib
    
  • 如需持久化,可将环境变量添加到shell配置文件(如~/.bashrc或~/.zshrc):
    export REQUESTS_CA_BUNDLE=~/combined_ca.crt
    

3. 确认PyPI源配置正确

检查pyproject.toml中的源配置,确保官方PyPI源未被错误配置:

[[tool.poetry.source]]
name = "mypypiserver"
url = "https://server.url/"
default = true
secondary = false

[[tool.poetry.source]]
name = "pypi"
url = "https://pypi.org/simple/"
secondary = true
  • 确保未给官方PyPI源配置错误的证书:
    poetry config certificates.pypi.cert --unset
    

4. 临时绕过SSL验证(仅测试用,不推荐生产环境)

如果只是临时测试,可通过环境变量关闭SSL验证:

PYTHONHTTPSVERIFY=0 poetry add --source pypi matplotlib

注意:此方法会禁用所有SSL证书验证,存在安全风险,仅用于排查问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 01:55:34