nginx后面的Grafana 6.7身份验证代理,用于自动UI登录

问题描述 投票:0回答:1

我在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会返回以下内容:enter image description here

如果我尝试单击页面上的任何链接,则会出现许多未授权的错误,并且我会注销。

我一直在使用那些设置很多:

  • proxy_set_header X-WEBAUTH-USER
  • root_url
  • enable_login_token
  • cookie_samesite

但是无法使事情起作用

用户是在Grafana内创建的,因此,我试图赋予创建的用户完整的权限:enter image description here

但是我仍然会收到未经授权的错误和404错误

我什至不确定这是否是实现我想要做的事情的正确方法,有什么建议吗?

nginx grafana nginx-reverse-proxy
1个回答
0
投票

我已经删除了两个位置,并为/位置放置了身份验证然后我转回cookie_samesite = none,它开始按预期的方式工作。

通过这样做,我失去了正常登录grafana的可能性

© www.soinside.com 2019 - 2024. All rights reserved.