Toto je starší verze dokumentu!
Grafana
Grafanu mám nainstalovanou pomocí dockeru a v Apache konfiguraci jsem nastavil reverzní proxy včetně řešení problému s websockety.
Konfigurace docker-compose
grafana:
container_name: grafana
image: grafana/grafana
restart: unless-stopped
user: "0"
ports:
- "127.0.0.1:3000:3000"
environment:
- TZ=Etc/UTC
- GF_PATHS_DATA=/var/lib/grafana
- GF_PATHS_LOGS=/var/log/grafana
- GF_SERVER_DOMAIN=mojedomena.live
- GF_SERVER_ROOT_URL=%(protocol)s://%(domain)s/grafana/
volumes:
- ./volumes/grafana/data:/var/lib/grafana
- ./volumes/grafana/log:/var/log/grafana
healthcheck:
test: ["CMD", "wget", "-O", "/dev/null", "http://localhost:3000"]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
V kódu jsou důležité tyto řádky, které jsou příprava pro reverzní proxy:
- GF_SERVER_DOMAIN=mojedomena.live - GF_SERVER_ROOT_URL=%(protocol)s://%(domain)s/grafana/
konfigurace Apache
ProxyPreserveHost On
RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
RequestHeader set "X-Forwarded-Host" expr=%{HTTP_HOST}
ProxyPass /grafana/ http://localhost:3000/
ProxyPassReverse /grafana/ http://localhost:3000/
# Povolení proxy pro WebSockets
RewriteEngine On
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteRule /grafana/(.*) "ws://localhost:3000/$1" [P,L]
# Povolení proxy pro HTTPS WebSockets
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteRule /grafana/(.*) "wss://localhost:3000/$1" [P,L]