RHEL上Grafana v9.3.6配置HTTPS Webhook双向TLS证书报错求助
解决Grafana告警Webhook的
tls: certificate required错误 问题原因
目标Webhook服务器启用了客户端证书认证,而Grafana默认未配置使用客户端证书发起请求,因此触发该错误。
解决步骤
1. 确认客户端证书文件完整性
确保你拥有配对的:
- 客户端证书文件(通常为
.crt或.pem格式),存放于/etc/pki/tls/certs/ - 对应的私钥文件(通常为
.key格式),建议存放于/etc/pki/tls/private/(该目录默认权限更安全)
如果你的证书是PKCS#12格式(.pfx/.p12),需要先转换为PEM格式:
# 提取客户端证书 openssl pkcs12 -in client.p12 -out /etc/pki/tls/certs/client.crt -nokeys -clcerts # 提取私钥(-nodes 表示不加密私钥) openssl pkcs12 -in client.p12 -out /etc/pki/tls/private/client.key -nocerts -nodes
2. 配置Grafana使用客户端证书
编辑Grafana主配置文件/etc/grafana/grafana.ini,找到并修改[http_client]段:
[http_client] # 指定客户端证书路径 client_cert = /etc/pki/tls/certs/client.crt # 指定对应私钥路径 client_key = /etc/pki/tls/private/client.key # 若Webhook服务器使用自签名证书,可开启以下选项跳过服务器证书验证(非必要,仅当服务器证书不可信时使用) # insecure_skip_verify = true
3. 调整文件权限确保Grafana可读取
Grafana进程默认以grafana用户运行,需确保该用户能读取证书和私钥:
# 设置证书文件权限 chown grafana:grafana /etc/pki/tls/certs/client.crt chmod 644 /etc/pki/tls/certs/client.crt # 设置私钥文件权限(私钥必须严格限制访问) chown grafana:grafana /etc/pki/tls/private/client.key chmod 600 /etc/pki/tls/private/client.key # 若私钥目录权限为700,调整为710让grafana用户可进入目录 chmod 710 /etc/pki/tls/private
4. 重启Grafana服务使配置生效
systemctl restart grafana-server
5. 测试Webhook连接
重新发送测试告警,验证错误是否消失。
额外排查点
- 确认客户端证书未过期,且已被Webhook服务器的信任CA收录
- 检查Webhook服务器的日志,确认是否有证书格式不兼容或权限问题
内容的提问来源于stack exchange,提问作者Cvitoybamp
相关产品推荐
相关产品推荐

