nginx反向代理背后的grafana

Posted

技术标签:

【中文标题】nginx反向代理背后的grafana【英文标题】:grafana behind a nginx reverse proxy 【发布时间】:2019-03-14 12:28:48 【问题描述】:

我尝试在 kubernetes 集群中将 grafana 和 nginx 作为反向代理运行,我已经找到了这个 answer 但这似乎对我不起作用。至少我得到了与 Oles 相同的 alert.title-Message。这就是为什么我想再问一次,也许有人可以提示我做错了什么?

grafana 部署的配置包含以下部分:

env:
  - name: GF_SERVER_DOMAIN
    value: "k8s-4"
  - name: GF_SERVER_ROOT_URL
    value: "http://k8s-4/grafana"

而且我不会修改容器/pod 内的 grafana.ini。

我在 default.conf 中进一步配置 nginx 如下:

server 
    listen       80;
    server_name  localhost k8s-4;

    location / 
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    

    location /grafana/ 
        proxy_pass http://k8s-4:30080/grafana;
        proxy_set_header X-Forwarded-Host k8s-4;
        proxy_set_header X-Forwarded-Server  k8s-4;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
  

但正如我上面所说,这会导致 alert.title 错误。但是如果我将上下文设置为根元素并配置工具如下:

部署:

env:
  - name: GF_SERVER_DOMAIN
    value: "k8s-4"
  - name: GF_SERVER_ROOT_URL
    value: "http://k8s-4"

nginx - default.conf

server 
    listen       80;
    server_name  localhost k8s-4;

    location / 
        proxy_pass http://k8s-4:30080/grafana;
        proxy_set_header X-Forwarded-Host k8s-4;
        proxy_set_header X-Forwarded-Server  k8s-4;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    

    location /grafana/ 
    

它工作... 这就是为什么我很确定这是部署 grafana 的问题,但我没有看到错误。也许这里有人可以给我一点提示?

【问题讨论】:

【参考方案1】:

您的第一个server 设置几乎正确,您需要将proxy_pass 行更改为:

proxy_pass http://k8s-4:30080/;

【讨论】:

我一定是盲人...感谢提示这是我问题的解决方案:-)

以上是关于nginx反向代理背后的grafana的主要内容,如果未能解决你的问题,请参考以下文章

使用 Grafana 的反向代理 (nginx)

nginx 反向代理grafana

将 Nginx Bad Gateway 用作 Grafana 的反向代理时发生错误

使用仪表板作为子路径的 Grafana 的 Nginx 反向代理

使用 Docker 并希望 HTTP 到 HTTPS 使用 NGINX 反向代理到 HTTP Grafana

php WordPress背后的NGINX SSL反向代理