Grafana за nginx: слишком много редиректов

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

Конфиг нгинкс:

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;
        }
}

Докер-составить:

  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_SECURE, GF_SERVER_ROOT_URL и GF_SERVER_DOMAIN, а также удалял подпуть /grafana из nginx и без свойства rewrite.

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

У тебя есть идеи?

Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
0
0
2 065
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

это, вероятно, связано с ограничением использования переменных nginx внутри разделов proxy_pass nginx-discovery.com/2011/05/day-51-proxypass-and-resolver.ht‌​мл

yosefrow 16.12.2019 10:49

Другие вопросы по теме