K8s下经Nginx Ingress部署的Grafana部分链接出现子路径重复问题
部署基础场景
- 通过 Rancher 监控组件在 Kubernetes 环境中部署 Grafana 7.1.5 版本
- 借助 Nginx Ingress 控制器,以
/grafana-metrics作为子路径对外暴露 Grafana 服务 - 访问地址
https://DNSNAME:PORT/grafana-metrics/可正常加载页面,顶部正常显示“Welcome to Grafana”横幅,内置多组仪表盘可正常展示
异常表现
- 页面大部分链接可正常跳转使用:包括左侧边栏顶部的 Grafana 图标、左侧边栏的搜索图标、主面板左上角(侧边栏外侧、Grafana 图标旁)的 Home 图标
- 异常跳转点:左侧边栏的 Dashboard 图标、该图标下拉弹出菜单内的所有功能入口,跳转后的 URL 会重复拼接两次子路径,例如
https://DNSNAME:PORT/grafana-metrics/grafana-metrics/dashboards - 问题定位:查看异常元素的页面源码,其链接形式为
./grafana-metrics/dashboards这类相对路径,最终造成子路径重复叠加
已完成的配置验证
- 已参照 Grafana 官方反向代理子路径部署指南完成相关参数配置:
- 按照指南规范配置了匹配模式的
root_url参数 - 开启
serve_from_sub_path = true配置
- 按照指南规范配置了匹配模式的
- 配置效果验证:移除上述参数后 Grafana 完全无法加载;保留配置的情况下,上述相对路径重复拼接的问题仍未解决
- 额外对照测试:无论是否设置
domain配置项,异常行为无任何差异
待确认的核心疑问
想明确该异常属于存在遗漏配置项的预期行为,还是需要向 Grafana 开发团队反馈的代码缺陷
内容的提问来源于stack exchange,提问作者Tim
相关产品推荐
相关产品推荐

