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:
ARIA
2026-07-19 22:37:38 +00:00
parent 3aaddc4a31
commit 4be51faa07
2 changed files with 24 additions and 1 deletions
+9 -1
View File
@@ -17,7 +17,15 @@
{$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,
+15
View File
@@ -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
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)
- `hermes-agent-src/` — geklonter Hermes-Agent-Sourcecode (Docker-Build-Context)