公司部署了Zscaler, 所有的internet traffic都通过Zscaler代理以保证数据安全。 带来的一个问题就是,Python访问的流量被中转到了Zscaler,会提示证书报错。

  • 报错信息如下

pip install requests
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1123)'))': /simple/requests/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1123)'))': /simple/requests/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1123)'))': /simple/requests/

  • 临时解决方案如下,添加 --trusted-host参数给pip,这样可以忽略证书验证,但是仍然会产生警告。

pip install requestes --trusted-host pypi.org --trusted-host files.pythonhosted.org
Collecting requestes
 Downloading requestes-0.0.1.tar.gz (1.4 kB)
Using legacy 'setup.py install' for requestes, since package 'wheel' is not installed.
Installing collected packages: requestes
   Running setup.py install for requestes ... done
Successfully installed requestes-0.0.1
WARNING: You are using pip version 20.2.3; however, version 21.0.1 is available.
You should consider upgrading via the 'c:\program files\python39\python.exe -m pip install --upgrade pip' command.

  • 一劳永逸的解决方法是添加代理服务器的根证书到Python的Cert Store,方法如下

Windows上的Python自动包含PIP和Certifi,这是用于证书验证的默认证书捆绑包。

获取Zscaler Proxy CA root cert并导入到 ""C:\Program Files\Python39\Lib\site-packages\pip\_vendor\certifi\cacert.pem""即可解决问题。

根据安装的python版本的不同,路径可能有些许不同。

再次执行pip安装第三方模块就不会报错了。


©著作权归作者所有:来自51CTO博客作者sky2133的原创作品,如需转载,请注明出处,否则将追究法律责任

每一份赞赏源于懂得

赞赏

0人进行了赞赏支持

更多相关文章

  1. S3 Cross Account Access 跨账户访问
  2. python自动创建每周周报模板
  3. Prometheus监控系统 之 安装部署
  4. tomcat启动后台日志乱码
  5. 让nginx日志支持json格式
  6. linux使用zip修改文件内容
  7. Kibana 之 使用指引
  8. 红帽认证工程师体系是怎样的?
  9. Kibana 之 安装部署

随机推荐

  1. android studio编译错误 之 Cause: com/a
  2. Android 创建菜单栏
  3. relative相关属性
  4. android调用系统发短信界面功能
  5. ubuntu共享文件夹设置
  6. Drawable Mutations(Android(安卓)Drawab
  7. 【建议收藏】2020年中高级Android大厂面
  8. android学习资料
  9. Android 自动滚动的GridView
  10. android studio 报编码 GBK 的不可映射字