在EOL版本Ubuntu 14.04安装certbot-auto 1.9.0报403 SNI required错误如何解决
报错根因
该HTTP Error 403: SNI is required报错触发原因是Ubuntu 14.04自带的Python 2.7版本过旧,内置的urllib2库未集成SNI扩展,访问当前强制要求SNI验证的HTTPS资源站点时被服务端拦截,导致依赖包下载失败。
可行解决方案
方案1:复用现有稳定实例文件(优先选择)
你现有其他服务器已稳定运行certbot-auto 1.9.0,直接同步对应文件到新服务器即可跳过安装流程:
- 拷贝旧服务器上
/usr/local/bin/certbot-auto二进制文件到新服务器相同路径 - 拷贝旧服务器上
/opt/eff.org/certbot目录(certbot-auto默认创建的虚拟环境目录)到新服务器相同路径 - 给
/usr/local/bin/certbot-auto赋予可执行权限后即可直接使用,不会触发在线依赖下载
方案2:提前安装Python2 SNI支持依赖
如果无法同步现有实例,先手动安装SNI相关依赖再执行安装:
- 安装系统基础依赖:
sudo apt-get update sudo apt-get install -y python-pip python-dev libssl-dev libffi-dev
- 为Python2安装SNI支持模块:
pip install pyopenssl ndg-httpsclient pyasn1
- 重新运行certbot-auto 1.9.0安装脚本即可正常完成依赖下载。
方案3:禁用certbot-auto自更新
安装完成后运行时如果仍然触发同类报错,执行命令时添加--no-self-upgrade参数,禁止其自动拉取线上更新资源:
certbot-auto --no-self-upgrade [你的原有执行参数]
内容的提问来源于stack exchange,提问作者liamf91
相关产品推荐
相关产品推荐

