1. 问题背景与现象分析
最近在部署WeBASE区块链中间件平台时,执行python3 deploy.py installAll命令过程中遇到了SSL连接错误。具体表现为下载依赖文件到一半时突然中断,控制台抛出"无法建立SSL连接"的异常。这种情况在需要从外网拉取资源的自动化部署脚本中并不少见,但每次遇到都让人头疼。
经过排查,这个问题通常发生在以下几种场景:
- 企业内网有严格的SSL流量审查策略
- 本地机器时间与网络时间不同步
- Python环境缺少最新的CA证书包
- 网络运营商对某些境外资源进行了限制
注意:如果是在企业内网环境遇到此问题,建议先联系IT部门确认网络策略,不要尝试修改系统安全配置。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心解决方案与实施步骤
2.1 临时绕过SSL验证(开发环境适用)
对于测试环境快速验证,可以临时修改部署脚本的请求逻辑。找到deploy.py中负责下载资源的代码段(通常在download_file()或类似函数中),为requests会话添加verify=False参数:
python复制import requests
session = requests.Session()
session.verify = False # 禁用SSL验证
response = session.get(url)
但这种方法存在安全隐患,仅建议在隔离的测试环境使用。生产环境必须采用更规范的解决方案。
2.2 更新CA证书包(推荐方案)
大多数Python SSL问题源于过期的根证书。以下是各系统的更新方法:
Ubuntu/Debian:
bash复制sudo apt-get update
sudo apt-get install --reinstall ca-certificates
sudo update-ca-certificates --fresh
export SSL_CERT_DIR=/etc/ssl/certs
CentOS/RHEL:
bash复制sudo yum update ca-certificates
sudo update-ca-trust force-enable
sudo update-ca-trust extract
``
