Я пытаюсь настроить 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.
У тебя есть идеи?
Ошибка была в resolver
. Я добавил это, чтобы сделать nginx, даже если нет графаны, но почему-то это не сработало.
это, вероятно, связано с ограничением использования переменных nginx внутри разделов proxy_pass nginx-discovery.com/2011/05/day-51-proxypass-and-resolver.htмл