Grafana OAuth登录TLS证书验证禁用及Azure AD自签名证书适配咨询
Grafana OAuth TLS证书相关问题解答
问题1:如何禁用OAuth用户登录时的TLS证书验证?
如果你是临时测试或者环境允许放宽安全限制,可以通过修改Grafana配置来跳过TLS证书验证,步骤如下:
- 找到Grafana的主配置文件
grafana.ini:- Linux系统通常在
/etc/grafana/grafana.ini - Windows系统一般在
C:\Program Files\GrafanaLabs\grafana\conf\defaults.ini或你自定义的配置文件路径
- Linux系统通常在
- 定位到你使用的OAuth服务商对应的配置块,比如Azure AD就是
[auth.azuread]部分 - 在该配置块中添加或修改一行:
tls_skip_verify = true - 保存配置后重启Grafana服务:
- Linux:
sudo systemctl restart grafana-server - Windows:在服务管理器中找到Grafana服务并重启
- Linux:
⚠️ 注意:这个操作会关闭该OAuth服务商的证书校验,生产环境强烈不推荐,会带来安全风险。
问题2:Azure AD OAuth配置中使用自签名证书的解决办法
你遇到的x509: certificate signed by unknown authority错误,核心原因是Grafana不信任你的自签名证书,这里有两个可行的解决方向:
方法1:将自签名证书导入Grafana信任列表(推荐生产环境)
这是最安全的做法,步骤如下:
- 把你的自签名证书导出为PEM格式文件(比如命名为
azure-ad-custom-cert.pem) - 将证书放到Grafana的证书目录:
- Linux:可创建
/etc/grafana/certs/目录,把证书复制进去 - Windows:放到
C:\Program Files\GrafanaLabs\grafana\conf\certs\目录(没有就新建)
- Linux:可创建
- 修改
grafana.ini的[server]部分,添加信任证书的配置:
Windows路径改为trusted_certificates = /etc/grafana/certs/azure-ad-custom-cert.pemC:\Program Files\GrafanaLabs\grafana\conf\certs\azure-ad-custom-cert.pem - 重启Grafana服务,此时它就会信任这个自签名证书了。
你也可以选择导入到系统级信任根:
- Linux(Ubuntu/Debian):把PEM证书复制到
/usr/local/share/ca-certificates/,运行sudo update-ca-certificates后重启Grafana - Windows:右键证书文件→「安装证书」→目标位置选「本地计算机」→放入「受信任的根证书颁发机构」,完成后重启Grafana
方法2:临时跳过证书验证(仅测试场景)
就是问题1里提到的方法,在[auth.azuread]块中添加tls_skip_verify = true,但再次提醒:生产环境别用这个方案。
另外,先检查下你Azure AD配置里的各个端点URL(比如user_info_url、auth_url)是否正确——你错误信息里的https://:明显漏了域名,这也可能是触发问题的原因之一!
内容的提问来源于stack exchange,提问作者rmehta
相关产品推荐
相关产品推荐

