Grafana中Text/Html面板嵌入iframe无法正常显示问题求助
Grafana 7.5.2 Text面板嵌入iframe无法加载问题排查方案
- HTML代码使用了中文全角引号
你编写的iframe代码中src属性使用的是中文全角引号“”,浏览器无法正确识别属性边界,会将引号本身拼接进请求URL,导致请求地址错误触发404。修正后的代码如下:
- HTML代码使用了中文全角引号
<html> <head></head> <body> <iframe src="https://www.google.com" width="670" height="510"></iframe> </body> </html>
注意除了引号替换为半角双引号外,也将原http协议替换为https,避免谷歌的强制HTTPS重定向问题。
- 目标站点禁止iframe嵌入
谷歌官方设置了X-Frame-Options: SAMEORIGIN响应头,仅允许同域名下的页面嵌入其内容,跨域场景下即使Grafana配置完全正确,浏览器也会拦截该资源加载。你可以先替换为允许跨域嵌入的测试地址验证功能,比如https://example.com,如果测试地址可正常加载,则说明是目标站点的安全策略限制,非Grafana配置问题。
- 目标站点禁止iframe嵌入
- 配置参数未放在正确分组下
你修改的配置参数需要归属到对应配置段才会生效,检查grafana.ini配置是否符合如下结构:
- 配置参数未放在正确分组下
# 面板相关配置段 [panels] disable_sanitize_html = true # 安全相关配置段 [security] allow_embedding = true cookie_samesite = none # 特性开关配置段 [feature_toggles] enable_alpha = true
如果参数未放在对应分组下,Grafana不会读取生效,修改后需重启Grafana服务。
- 进一步排查手段
如果以上操作后仍有问题,打开浏览器开发者工具,切换到「控制台」和「网络」标签,查看具体报错信息:
- 如果是请求地址异常,确认HTML代码是否有语法错误
- 如果是
X-Frame-Options相关报错,确认是目标站点限制,无法绕过 - 如果是CSP(内容安全策略)相关报错,需要额外调整Grafana的CSP配置,添加对应站点的加载许可
- 进一步排查手段
内容的提问来源于stack exchange,提问作者ivbtar
相关产品推荐
相关产品推荐

