如何解决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

相关推荐
SHUIPING_YANG8 分钟前
根据用户id自动切换表查询
java·服务器·数据库
爱吃烤鸡翅的酸菜鱼20 分钟前
IDEA高效开发:Database Navigator插件安装与核心使用指南
java·开发语言·数据库·编辑器·intellij-idea·database
超奇电子25 分钟前
阿里云OSS预签名URL上传与临时凭证上传的技术对比分析
数据库·阿里云·云计算
神仙别闹37 分钟前
基于C#+SQL Server实现(Web)学生选课管理系统
前端·数据库·c#
m0_653031361 小时前
PostgreSQL技术大讲堂 - 第97讲:PG数据库编码和区域(locale)答疑解惑
数据库·postgresql
guts°1 小时前
10-ACL技术
网络·网络协议
群联云防护小杜1 小时前
深度隐匿源IP:高防+群联AI云防护防绕过实战
运维·服务器·前端·网络·人工智能·网络协议·tcp/ip
会编程的林俊杰1 小时前
MySQL中的锁有哪些
数据库·mysql
cts6181 小时前
Milvus分布式数据库工作职责
数据库·分布式·milvus
周胡杰1 小时前
鸿蒙加载预置数据库-关系型数据库-如何读取本地/预制数据库
数据库·华为·harmonyos·鸿蒙