如何使用 nginx 代理 /grafana?

AXE*_*abs 17 nginx reverse-proxy grafana

我已经设置并启动了默认的 grafana,它在http://localhost:3000上按预期工作。我正在尝试使用安装了 ssl 的 nginx 代理它。我试图让它响应https://localhost/grafana但它只提供以下服务:

{{alert.title}}
Run Code Online (Sandbox Code Playgroud)

我的 nginx 服务器块中有这个:

location /grafana {
     proxy_pass         http://localhost:3000;
     proxy_set_header   Host $host;
}
Run Code Online (Sandbox Code Playgroud)

AXE*_*abs 31

nginx 似乎支持将请求重写到代理服务器,因此将配置更新为此使其工作:

location /grafana {
     proxy_pass         http://localhost:3000;
     rewrite  ^/grafana/(.*)  /$1 break;
     proxy_set_header   Host $host;
}
Run Code Online (Sandbox Code Playgroud)

我的 grafana.ini 也有一个更新的根:

[server]
root_url = %(protocol)s://%(domain)s:%(http_port)s/grafana
Run Code Online (Sandbox Code Playgroud)

  • 此外,如果您在 nginx 访问 grafana 之前有基本的 http 身份验证,请确保通过在代理位置块中包含 `proxy_set_header Authorization "";` 来覆盖 `Authorization` 标头,否则 Grafana 将坚持重复使用这些凭据数据源连接。 (3认同)

Ada*_*sha 11

添加到@AXE-Labs 答案中,您无需重写 URL。

nginx.conf

location /grafana/ {
     proxy_pass         http://localhost:3000/;
     proxy_set_header   Host $host;
}

grafana.ini update root:

[server]
root_url = %(protocol)s://%(domain)s:%(http_port)s/grafana/
Run Code Online (Sandbox Code Playgroud)

请注意位置块中的附加 / ,这使所有不同。

如果您想查看整个文件,请访问https://gist.github.com/mvadu/5fbb7f5676ce31f2b1e6,我为 Infludb 和 grafana 设置了反向代理。

  • 请注意,`http://localhost:3000/;` 中的斜杠也很重要。 (3认同)