无法保存问题或仪表板,或出现空白页面
如果尝试保存问题或仪表板时有时会失败,或者 Metabase 只加载空白页面,则问题可能出在使用代理。代理可能包含其他功能,例如 Web 应用程序防火墙 (WAF)、内容优化或缓存。已知会导致 Metabase 出现问题的代理示例包括
- Cloudflare 的 Rocket Loader 和 WAF
- Azure 的 WAF
- Apache 的 PageSpeed 模块
- 某些杀毒浏览器扩展或附加组件
保存问题或仪表板失败
如果保存问题或仪表板失败,并且保存按钮显示“保存失败”,或者您收到错误“抱歉,您无权查看此内容”,则问题可能出在 Cloudflare 或 Azure 等 WAF 上。
- 如果保存失败,请检查浏览器开发者工具的“控制台”选项卡是否有任何错误。
- 您还应该检查浏览器开发者工具中的“网络”选项卡以查看网络请求。它通常会因错误代码 403 而失败,这表明错误来自 WAF 而非 Metabase。
单击该请求将显示更多信息,并且查看请求头通常会指示其来源。
某些 WAF 具有动态保护功能,这意味着问题可能仅在 Metabase 升级后才会出现,并可能在几天后消失。
解决方案是为 Metabase 禁用 WAF。某些服务会显示触发了哪些规则,因此可能只需禁用这些规则即可。
看到空白页面而非 Metabase 界面
如果 Metabase 显示空白页面而不是其界面,问题通常出在内容优化方面,例如 PageSpeed 或 Cloudflare 的 Rocket Loader。
- 检查浏览器开发者工具的“控制台”选项卡是否有任何涉及内容安全策略 (CSP) 的错误。
- 通过右键单击空白页面并选择“查看页面源代码”来检查 Metabase 是否已成功提供 HTML 代码。它可能看起来像乱码,但应该在第 25 行附近显示
<title>Metabase</title>
。
解决方案是为 Metabase 禁用内容优化。
阅读其他 Metabase 版本的文档。