本文不仅讲的是如何解决使用七牛sdk中所遇到的问题,并由此引申出在遇到该底层报错时不同python环境下的解决办法
问题描述:底层报错为ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed ,表示该请求证书验证失败。
pep476中详细描述了该问题的前因后果,python ssl的证书验证依赖于本地的证书数据库。一般是机器系统本身提供的数据库,如果找不到数据库或数据库中没有匹配的证书,将会是一个错误,需要用户定位来修复它。
PEP建议使用系统提供的证书数据库,OpenSSL中的一对环境变量SSL_CERT_DIR和SSL_CERT_FILE,可将Python指向不同的证书数据库。
在文件顶端添加如下代码
import ssl
try:
_create_unverified_https_context = ssl._create_unverified_context
except AttributeError:
# Legacy Python that doesn't verify HTTPS certific

本文探讨了在使用七牛SDK时遇到的SSL证书验证失败问题,提供了多种解决方案,包括设置未验证的SSL上下文、指定证书文件、更新或绑定证书库,以及在特定情况下修改SDK中的上传域名。建议安全敏感的应用程序应明确指定SSL上下文,而非依赖Python默认行为。
最低0.47元/天 解锁文章
763

被折叠的 条评论
为什么被折叠?



