RUNBOOK / Python / pip
pip SSL CERTIFICATE_VERIFY_FAILED:证书链和系统时间修复
pip 报 SSL 证书校验失败,临时 --trusted-host 看似能绕过。
故障现象与判断依据
最可能原因
优先修复 CA 根证书、系统时间或中间人代理证书链;不要永久关闭校验。
LOGERROR: Could not install packages due to an OSError:
HTTPSConnectionPool(host='pypi.org', port=443):
Read timed out. (read timeout=15)安全诊断
以下命令用于读取状态、验证解析或复现请求;先确认目标主机、权限与影响范围。命令中的占位符必须替换为当前环境的实际值。
READ / VERIFYpython -m pip install -vvv --timeout 60 --retries 5 <package>
HTTPS_PROXY=http://127.0.0.1:7897 HTTP_PROXY=http://127.0.0.1:7897 curl -Iv --connect-timeout 10 https://pypi.org/simple/推荐修复步骤
- 1校准服务器时间并更新 ca-certificates。
- 2使用 openssl s_client 查看返回的完整证书链。
- 3将企业根证书以受控方式加入系统信任库,再重启构建容器。
验证、限制与回滚
修复后的验证
无需 --trusted-host 即可完成 pip install,证书主机名匹配。
风险提示与回滚
不要以关闭证书校验、删除全部缓存、无限重试、关闭防火墙或放宽到 chmod 777 来替代根因定位。任何配置变更前先保留原文件和校验结果;若验证失败,恢复该备份并重新采集日志。
可信来源与适用边界
参考来源pip - pip documentation v26.2.1 ↗
pip command options 此页将环境级案例与本 Runbook 的检查步骤分开呈现,不能把示例日志当作当前服务器的真实事件。