如何解决SSL: CERTIFICATE_VERIFY_FAILED

"SSL: CERTIFICATE_VERIFY_FAILED"错误通常在使用Python的requests或urllib等库进行HTTPS请求时出现,它表明SSL证书验证失败。这可能是由于服务器证书无效、过期、自签名或缺失等原因所致。要解决此问题,可以尝试以下方法:

参考:
http://www.howtouselinux.com/post/ssl-certificate_verify_failed-in-python

  1. 升级Python版本: 确保你正在使用最新版本的Python。较旧版本的Python可能会导致一些SSL问题。

  2. 更新CA证书: 从操作系统或Python本身更新CA(Certificate Authority)证书库。这样可以确保系统能够正确验证服务器证书。

  3. 忽略证书验证: 在测试或特定情况下,你可以选择忽略证书验证。但请注意,这样做会使连接变得不安全,并不推荐在生产环境中使用。在requests中可以这样做:

python 复制代码
import requests

requests.get('https://example.com', verify=False)
  1. 使用自定义CA证书: 如果你的服务器证书是自签名的,可以使用verify参数来指定自定义CA证书的路径:
python 复制代码
import requests

requests.get('https://example.com', verify='/path/to/custom_ca.pem')
  1. 更新系统时间: SSL证书验证依赖于系统时间。如果系统时间不正确,可能导致证书验证失败。确保系统时间准确。

  2. 检查证书过期: 确认服务器证书是否过期。如果证书已过期,需要重新生成并更新服务器证书。

  3. 检查证书链: 确保服务器证书的完整证书链正确。有时,缺少中间证书或根证书可能导致验证失败。

  4. 检查网络代理: 如果你的网络使用代理,确保代理配置正确,并不会干扰SSL证书验证。

请注意,忽略证书验证或使用自定义CA证书都是暂时解决方案,不推荐在生产环境中长期使用。在生产环境中,请确保服务器证书的合法性和正确性,并正确配置SSL证书验证。

我们整理了一份Linux学习的pdf文件,放在下面的路径,可以自提:
https://www.howtouselinux.com/post/linux-commands-for-linux-beginners-cheat-sheet

相关推荐
qinyia几秒前
**使用AI助手在智慧运维中快速定位并修复服务异常:以Nginx配置错误导致502错误为例**
linux·运维·服务器·数据库·mysql·nginx·自动化
我真会写代码1 分钟前
WebSocket:告别轮询,实现Web实时通信 WebRTC:无需插件,实现浏览器端实时音视频通信
网络·websocket·网络协议·webrtc·实时音视频
熊文豪6 分钟前
关系数据库替换用金仓——Oracle兼容性深度解析
数据库·oracle·金仓数据库·电科金仓·kes
eWidget12 分钟前
面向Oracle生态的国产高兼容数据库解决方案
数据库·oracle·kingbase·数据库平替用金仓·金仓数据库
智算菩萨15 分钟前
【网络工程师入门】DNS域名系统的深度解读与实践应用指南
网络·网络协议·系统架构
A懿轩A15 分钟前
【MySQL 数据库】MySQL 数据库核心概念详解:库、表、字段、主键与关系型模型一文读懂
数据库·mysql·oracle
盒马coding19 分钟前
postgreSQL中调整Checkpoint的重要性
数据库·mysql·postgresql
怣5028 分钟前
MySQL多表连接完全指南:内连接与外连接(零基础入门版)
数据库·mysql
爱吃山竹的大肚肚30 分钟前
文件上传大小超过服务器限制
java·数据库·spring boot·mysql·spring
star125841 分钟前
数据分析与科学计算
jvm·数据库·python