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

相关推荐
Pluto_CSND20 小时前
PostgreSQL 聚合函数总览
数据库·postgresql
资深数据库专家21 小时前
总账EBS 应用服务器1 的监控分析
java·网络·数据库
m0_6784854521 小时前
CSS如何控制表格单元格边框合并_通过border-collapse实现
jvm·数据库·python
m0_7488394921 小时前
如何用组合继承模式实现父类方法复用与子类属性独立
jvm·数据库·python
qq_3345635521 小时前
PHP源码是否依赖特定芯片组_Intel与AMD平台差异【操作】
jvm·数据库·python
qq_206901391 天前
如何使用C#调用Oracle存储过程_OracleCommand配置CommandType.StoredProcedure
jvm·数据库·python
m0_748839491 天前
CSS如何实现元素平滑滚动_使用scroll-behavior属性设置
jvm·数据库·python
TechWayfarer1 天前
IP归属地API 技术解析与应用实践
网络·网络协议·tcp/ip
星晨雪海1 天前
Lombok 注解使用场景终极总结
java·数据库·mysql
风子杨yxf7711 天前
linux下oracle开机自启动以及关机自关闭数据库,并发送邮件通知
linux·运维·数据库·oracle·自启动·发邮件·自关闭