grafana是一个极其强大的数据可视化系统,只要是数据可视化的场景在grafana这里都能得到很好的支持。grafana也提供了多种方式让第三方系统去集成。auth.proxy是最常见的方式。只需要简单修改下配置文件就可以让第三方系统代理访问,不需要额外再通过用户名密码去登录。具体怎么修改本文就不再做介绍了,grafana官网有文档说明。本文主要是介绍下采用auth.proxy后遇到的一个小坑,以及怎么解决:
我们使用的grafana版本是9.0。当用户在url地址栏从一个org切换到另外一个org的时候,grafana会返回一个302重定向。具体如图:
莫名其妙重定向到localhost的3000端口,path没有改变。
后面发现grafana 默认的配置文件里面域名是localhost,端口是3000。把配置修改成和代理服务的端口域名一致就可以了。
但是如果grafana和代理服务是部署在一起的话就不能这样改了。因为同一个机器上不能部署两个端口。这种情况下只能在代理服务里面篡改response信息,把返回的端口改成代理服务的端口,如下:
当返回是302的时候就把location的header的url端口改成代理服务端口,这样就ok了。至于为啥在浏览器地址栏切换org的时候会返回302还有待排查。。