nginx 后面的 Grafana 6.7 auth 代理,用于自动 UI 登录
Posted
技术标签:
【中文标题】nginx 后面的 Grafana 6.7 auth 代理,用于自动 UI 登录【英文标题】:Grafana 6.7 auth proxy behind nginx for automatic UI login 【发布时间】:2020-07-02 19:02:06 【问题描述】:我的 Grafana 服务器前面有一个 nginx 反向代理。
我正在尝试使用 Nginx auth_basic
自动将用户登录到 Grafana。
我想这样做,以便能够自动登录放置在另一个 Web 应用程序(不在同一网络上)中的嵌入式 iframe 图
nginx.conf
server
server_name grafana.mydomain.com;
...
location /
proxy_pass http://grafana.mydomain.com;
location /grafana/
proxy_pass http://grafana.mydomain.com;
auth_basic "Restricted grafana.mydomain.com";
auth_basic_user_file /etc/nginx/htpasswd/grafana.mydomain.com;
proxy_set_header X-WEBAUTH-USER $remote_user;
proxy_set_header Authorization "";
grafana.ini
[auth.basic]
enabled = true
[security]
allow_embedding = true
cookie_samesite = lax
root_url = https://grafana.mydomain.com/grafana/
[auth.proxy]
enabled = true
header_name = X-WEBAUTH-USER
header_property = username
auto_sign_up = true
sync_ttl = 60
enable_login_token = true
此设置发生的情况是,如果我转到 grafana.mydomain.com
,它会显示为正常登录,并且一切正常
如果我在使用 Nginx 登录后转到grafana.mydomain.com/grafana/
,Grafana 会返回:
如果我尝试点击页面上的任何链接,则会出现很多未经授权的错误,并且我会被注销。
我一直在玩这些设置:
proxy_set_header X-WEBAUTH-USER root_url enable_login_token cookie_samesite但无法使事情正常进行
用户是在 Grafana 内部创建的,所以我尝试赋予创建的用户完全权限:
但我仍然收到未经授权的错误和 404 错误
我什至不确定这是实现我想要做的事情的正确途径,有什么建议吗?
【问题讨论】:
【参考方案1】:我已删除这两个位置并为/
位置放置了身份验证
然后我切换回cookie_samesite = none
,它开始按预期工作。
这样做我失去了正常登录grafana的可能性
【讨论】:
我最近也不得不这样做。最终对我来说最好的解决方案是使用 Treafik 设置两条路线。一个注入 Header,另一个直接通过 grafana。以上是关于nginx 后面的 Grafana 6.7 auth 代理,用于自动 UI 登录的主要内容,如果未能解决你的问题,请参考以下文章