Я пытаюсь настроить графану как контейнер докеров за Nginx, используя docker-compose. Каждый раз, когда я пытаюсь перейти на страницу входа в систему, я получаю сообщение об ошибке «Слишком много перенаправлений».
Конфигурация Нгинкса:
сервер {
слушать 9999 SSL;
имя_сервера S_NAME;
ssl_certificate ssl/S_NAME.crt;
ssl_certificate_key ssl/S_NAME.key;
ssl_session_cache общий: SSL: 1m;
ssl_session_timeout 30 м;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers включен;
корень /usr/share/nginx/www;
индекс index.html index.htm;
местоположение /графана/ {
proxy_set_header Хост $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;
преобразователь 127.0.0.11 действителен = 30 с;
установите $grafana http://grafana:3000/;
proxy_pass $графана;
переписать ^/grafana/(.*) /$1 перерыв;
proxy_connect_timeout 30 м;
proxy_send_timeout 30 минут;
proxy_read_timeout 30 м;
}
}
Docker-составьте:
графана:
изображение: графана/grafana
порты:
- 3000:3000
среда:
GF_SECURITY_COOKIE_SECURE: «истина»
GF_SERVER_ROOT_URL: "%(протокол)s://%(домен)s/grafana/"
GF_SERVER_DOMAIN: "test.com:9999"
перезапуск: при сбое
Grafana спамит эти логи:
lvl=info msg="Запрос выполнен" logger=context userId=0 orgId=0 uname= метод=GET path=/ status=302
lvl=info msg="Запрос выполнен" logger=context userId=0 orgId=0 uname= метод=GET path=/ status=302
Что касается меня, nginx перенаправляет все запросы в /grafana, grafana перенаправляет в /login, но я могу ошибаться.
Я уже пробовал разные варианты GF_SECURITY_COOKIE_SECURE, GF_SERVER_ROOT_URL и GF_SERVER_DOMAIN, а также удалял подпуть /grafana из nginx и без свойства перезаписи.
Я вручную проверил инструменты разработчика браузера на предмет проверки сетевых запросов и перенаправлений или использовал онлайн-инструмент, например https://redirectchecker.com/ , но по-прежнему получаю сообщение «Слишком много перенаправлений».
Даже я использую https, поэтому для GF_SECURITY_COOKIE_SECURE необходимо установить значение true.
Есть ли у вас какие-либо идеи?