Caddy: Host-Header beim Reverse-Proxy auf 127.0.0.1:9119 setzen (Fix Invalid Host header)
Hermes' Dashboard-Backend prueft den eingehenden Host-Header gegen den Host, an den es gebunden ist -- Caddy reichte bisher den originalen Host-Header vom Browser (Server-IP/Domain) durch, was Hermes als 'Invalid Host header' ablehnte. header_up ueberschreibt den Host jetzt explizit. Plus Troubleshooting-Eintrag in der README.
This commit is contained in:
@@ -17,7 +17,15 @@
|
|||||||
{$HERMES_DASHBOARD_USER} {$CADDY_BASIC_AUTH_HASH}
|
{$HERMES_DASHBOARD_USER} {$CADDY_BASIC_AUTH_HASH}
|
||||||
}
|
}
|
||||||
|
|
||||||
reverse_proxy 127.0.0.1:9119
|
# Hermes' Dashboard-Backend validiert den eingehenden Host-Header gegen
|
||||||
|
# den Host, an den es gebunden wurde (127.0.0.1:9119) -- Schutz gegen
|
||||||
|
# DNS-Rebinding. Caddy reicht per Default den ORIGINALEN Host-Header
|
||||||
|
# vom Browser durch (die Server-IP/Domain), das lehnt Hermes mit
|
||||||
|
# "Invalid Host header" ab. Deshalb hier den Host-Header explizit auf
|
||||||
|
# das ueberschreiben, worauf das Dashboard tatsaechlich lauscht.
|
||||||
|
reverse_proxy 127.0.0.1:9119 {
|
||||||
|
header_up Host 127.0.0.1:9119
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# Optional-freundlich: wer versehentlich mit http:// statt https:// draufklickt,
|
# Optional-freundlich: wer versehentlich mit http:// statt https:// draufklickt,
|
||||||
|
|||||||
@@ -225,6 +225,21 @@ Caddy), ist der Traffic unverschluesseltes HTTP, kein TLS. Nicht direkt ins
|
|||||||
offene Internet haengen — SSH-Tunnel, WireGuard/Tailscale oder eben den
|
offene Internet haengen — SSH-Tunnel, WireGuard/Tailscale oder eben den
|
||||||
Caddy-Reverse-Proxy davorschalten.
|
Caddy-Reverse-Proxy davorschalten.
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
**`{"detail":"Invalid Host header. Dashboard requests must use the hostname
|
||||||
|
the server was bound to."}` beim Aufruf ueber Caddy:** Hermes' Dashboard-
|
||||||
|
Backend prueft den eingehenden `Host`-Header gegen den Host, an den es
|
||||||
|
gebunden ist (`127.0.0.1:9119`) — Schutz gegen DNS-Rebinding. Caddy reicht
|
||||||
|
per Default den ORIGINALEN Host-Header vom Browser durch (Deine
|
||||||
|
Server-IP/Domain), den lehnt Hermes dann ab. Fix ist im `Caddyfile` bereits
|
||||||
|
drin: der `reverse_proxy`-Block ueberschreibt den Host-Header explizit
|
||||||
|
(`header_up Host 127.0.0.1:9119`), bevor die Anfrage ans Dashboard geht.
|
||||||
|
Falls der Fehler trotzdem auftritt: pruefen ob Dein `Caddyfile` den
|
||||||
|
`header_up`-Block im `reverse_proxy 127.0.0.1:9119 { ... }` wirklich enthaelt
|
||||||
|
(`git pull` + `docker-compose up -d --build caddy`, kein Neubuild noetig,
|
||||||
|
Caddy liest die Config beim Start neu ein).
|
||||||
|
|
||||||
## Verzeichnisse (nicht committet, siehe .gitignore)
|
## Verzeichnisse (nicht committet, siehe .gitignore)
|
||||||
|
|
||||||
- `hermes-agent-src/` — geklonter Hermes-Agent-Sourcecode (Docker-Build-Context)
|
- `hermes-agent-src/` — geklonter Hermes-Agent-Sourcecode (Docker-Build-Context)
|
||||||
|
|||||||
Reference in New Issue
Block a user