# Гейтит доступ к Grafana через уже существующую cookie-сессию # netrunner-backend (владелец/модератор) — Grafana сама наружу НЕ торчит # (см. docker-compose.observability.yml, порт 3030 только на 127.0.0.1), # только через этот Caddy. # # Как это работает: cookie сессии backend'а (nrxp_token) ставится с # Domain=.netrunner-vpn.com (см. COOKIE_DOMAIN в netrunner-backend/.env) — # значит браузер сам приложит её и к запросам на grafana.netrunner-vpn.com # (тот же родительский домен, другой сабдомен — это same-site, не # cross-site, для куки без атрибута Partitioned браузер это разрешает даже # из iframe). forward_auth здесь пересылает эту cookie на реальный бэкенд # (уже на другом VPS) и либо пускает дальше в Grafana (200), либо блокирует # (401) — сам Caddy решения не принимает, только проксирует запрос-проверку. # # ЗАМЕНИТЬ ПЕРЕД ПЕРВЫМ ЗАПУСКОМ: # - CHANGE_ME_GRAFANA_DOMAIN — сабдомен для Grafana (например # grafana.netrunner-vpn.com), DNS A-запись на IP этого VPS. # - CHANGE_ME_BACKEND_PUBLIC_URL — публичный URL бэкенда (например # https://account.netrunner-vpn.com), КОГДА backend будет арендован и # задеплоен — до этого auth-гейт нерабочий (пускать некому проверять). CHANGE_ME_GRAFANA_DOMAIN { forward_auth CHANGE_ME_BACKEND_PUBLIC_URL { uri /api/v1/admin/observability/check copy_headers Cookie } reverse_proxy grafana:3000 }