Графана за nginx: слишком много перенаправлений - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь настроить графану как докер-контейнер за Nginx, используя docker-compose. Каждый раз, когда я пытаюсь попасть на страницу входа в систему, я получаю сообщение об ошибке «Слишком много перенаправлений».

Конфигурация 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;
        }
}

Докер-Compose:

  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

Графана спамит эти журналы:

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, графана перенаправляет на /login, но я могу ошибаться.

Я уже пробовал разные варианты GF_SECURITY_COOKIE_SECURE, GF_SERVER_ROOT_URL и GF_SERVER_DOMAIN, а также удалял подпуть /grafana из nginx и без свойства rewrite.

Я использую https, поэтому для GF_SECURITY_COOKIE_SECURE необходимо установить значение true.

У вас есть идеи?

1 Ответ

0 голосов
/ 20 июня 2019

Ошибка была в resolver. Я добавил его, чтобы создать nginx, даже если графана отсутствует, но по какой-то причине он не сработал.

...