【问题标题】:Grafana behind nginx: too many redirectsnginx 背后的 Grafana:重定向太多
【发布时间】:2019-06-19 21:50:20
【问题描述】:

我正在尝试使用 docker-compose 将 grafana 设置为 Nginx 后面的 docker 容器。每当我尝试访问登录页面时 - 我都会收到错误“重定向太多”。

Nginx 配置:

server {
        listen 9999 ssl;
        server_name S_NAME;

        ssl_certificate ssl/S_NAME.crt;
        ssl_certificate_key ssl/S_NAME.key;

        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  30m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        root /usr/share/nginx/www;

        index index.html index.htm;

        location /grafana/ {
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Server $host;

            resolver 127.0.0.11 valid=30s;

            set $grafana http://grafana:3000/;

            proxy_pass $grafana;
            rewrite  ^/grafana/(.*)  /$1 break;

            proxy_connect_timeout      30m;
            proxy_send_timeout         30m;
            proxy_read_timeout         30m;
        }
}

Docker 撰写:

  grafana:
    image: grafana/grafana
    ports:
      - 3000:3000
    environment:
      GF_SECURITY_COOKIE_SECURE: "true"
      GF_SERVER_ROOT_URL: "%(protocol)s://%(domain)s/grafana/"
      GF_SERVER_DOMAIN: "test.com:9999"
    restart: on-failure

Grafana 向这些日志发送垃圾邮件:

lvl=info msg="Request Completed" logger=context userId=0 orgId=0 uname= method=GET path=/ status=302
lvl=info msg="Request Completed" logger=context userId=0 orgId=0 uname= method=GET path=/ status=302

对于我来说,nginx 将所有请求重定向到/grafana,grafana 重定向到/login,但我可能错了。

我已经尝试了 GF_SECURITY_COOKIE_SECUREGF_SERVER_ROOT_URLGF_SERVER_DOMAIN 的不同变体,以及从 nginx 中删除子路径 /grafana 并且没有 rewrite 属性。

我使用的是https,所以GF_SECURITY_COOKIE_SECURE需要设置为true。

你有什么想法吗?

【问题讨论】:

    标签: docker nginx docker-compose grafana


    【解决方案1】:

    错误出现在resolver。即使没有grafana,我也添加了它来制作nginx,但由于某种原因,它不起作用。

    【讨论】:

    猜你喜欢
    • 2019-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-28
    • 1970-01-01
    相关资源
    最近更新 更多