InfluxDB 2.0报错certificate verify failed证书过期如何解决
报错详情:[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1129)
问题定位
该报错由连接InfluxDB 2.0时触发SSL证书校验不通过导致,核心原因是服务端配置的SSL证书已过有效期,或是客户端本地根证书库过期无法识别有效证书,最终导致读写请求被拦截。
修复方案
根据使用场景选择对应方案即可:
- 正式生产环境优先选择证书更新方案
- 替换InfluxDB服务端过期SSL证书:向正规CA机构申请新的有效证书,或重新生成有效期更长的自签名证书,替换服务端
/etc/influxdb/目录下配置的crt和key证书文件 - 重启InfluxDB服务加载新证书,执行命令:
systemctl restart influxdb - 若为自签名证书,需将新的证书公钥导入客户端的受信任根证书库,避免后续校验失败
- 替换InfluxDB服务端过期SSL证书:向正规CA机构申请新的有效证书,或重新生成有效期更长的自签名证书,替换服务端
- 临时测试场景可跳过SSL校验(禁止生产环境使用)
不同客户端的跳过配置方式如下:- Influx CLI:执行操作命令时添加
--skip-verify参数,示例:influx delete --skip-verify -b 存储桶名称 -o 组织名称 --start 2023-01-01T00:00:00Z --stop 2023-01-02T00:00:00Z - Python SDK:初始化客户端时添加
verify_ssl=False参数:from influxdb_client import InfluxDBClient client = InfluxDBClient(url="https://你的InfluxDB地址:8086", token="你的访问令牌", org="你的组织名称", verify_ssl=False) - Java/Go/JS等其他语言SDK:查找客户端初始化配置中的
sslVerify/insecureSkipVerify等同名开关,设置为关闭状态即可
- Influx CLI:执行操作命令时添加
- 客户端根证书过期修复
若确认服务端证书未过期,执行对应命令更新客户端系统根证书库即可:- Debian/Ubuntu:
apt update && apt install -y ca-certificates - CentOS/RHEL:
yum update -y ca-certificates - macOS:
brew install ca-certificates
- Debian/Ubuntu:
内容的提问来源于stack exchange,提问作者Amiru Randil
相关产品推荐
相关产品推荐

