我在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会返回以下内容:
如果我尝试单击页面上的任何链接,则会出现许多未授权的错误,并且我会注销。
我一直在使用那些设置很多:
但是无法使事情起作用
用户是在Grafana内创建的,因此,我试图赋予创建的用户完整的权限:
但是我仍然会收到未经授权的错误和404错误
我什至不确定这是否是实现我想要做的事情的正确方法,有什么建议吗?
我已经删除了两个位置,并为/
位置放置了身份验证然后我转回cookie_samesite = none
,它开始按预期的方式工作。
通过这样做,我失去了正常登录grafana的可能性