Reverse Proxy und URL base
Einrichtung
Leg HolyArrs hinter deinem Reverse Proxy auf eine Adresse wie https://home.example/holyarrs.
Ein Reverse Proxy ist der Webserver vor deinen Apps, der jede Adresse an den richtigen Container schickt. Die URL base ist der Pfad, unter dem HolyArrs liegt.
Den Pfad festlegen
Link zu Den Pfad festlegen-
Füge den Pfad in deine Compose-Datei ein:
services:holyarrs:environment:- HOLYARRS_URL_BASE=/holyarrs -
Starte den Container neu.
-
Füge eine Proxy-Regel aus den Proxy-Beispielen hinzu.
-
Öffne
https://home.example/holyarrs/. Du solltest die Anmeldeseite sehen. Settings > This app (Einstellungen > Diese App) zeigt den Pfad, der gerade gilt.
Optionen
Link zu OptionenWo du den Pfad festlegst
Link zu Wo du den Pfad festlegst| Wo | Wirkt |
|---|---|
HOLYARRS_URL_BASE |
Beim Start. Hat Vorrang vor den anderen. |
Flag -url-base /holyarrs |
Beim Start, wenn die Variable nicht gesetzt ist. |
| Settings > This app | Beim nächsten Start, nur wenn weder Variable noch Flag gesetzt sind. |
Proxy-Beispiele
Link zu Proxy-Beispielenginx-proxy-manager. Lege einen Proxy-Host für deine Domain an und füge dann eine Custom Location hinzu:
- Location:
/holyarrs - Forward-Hostname
holyarrs, Port6262. Kein Schrägstrich am Ende, sonst wird der Pfad abgeschnitten. - Im Zahnrad-Feld dieser Location:
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_buffering off;proxy_read_timeout 1h;Traefik. Füge keine StripPrefix-Middleware hinzu.
labels: - traefik.enable=true - traefik.http.routers.holyarrs.rule=Host(`home.example`) && PathPrefix(`/holyarrs`) - traefik.http.services.holyarrs.loadbalancer.server.port=6262Caddy. Nimm handle. handle_path schneidet den Pfad ab.
home.example { handle /holyarrs* { reverse_proxy holyarrs:6262 { flush_interval -1 } }}Hostnamen und Proxy-Adressen
Link zu Hostnamen und Proxy-Adressen- Wenn HolyArrs über einen Hostnamen erreicht wird, füge ihn zu
HOLYARRS_ALLOWED_HOSTShinzu. - Wenn der Proxy
X-Forwarded-Forhinzufügt, füge die Adresse des Proxys zuHOLYARRS_TRUSTED_PROXIEShinzu. Ohne das kann die Anmeldung nicht erkennen, wer in deinem Heimnetz ist.
Wenn es nicht funktioniert
Link zu Wenn es nicht funktioniert| Symptom | Ursache | Lösung |
|---|---|---|
| Jede Seite meldet „not found“ | Der Proxy schneidet den Pfad ab | Entferne die Strip-Einstellung oder den Schrägstrich am Ende. |
| Live-Aktualisierungen kommen nie an | Der Proxy puffert Antworten | Schalte das Puffern aus (proxy_buffering off, flush_interval -1). |
| Ein gespeicherter Pfad hat dich ausgesperrt | Der gespeicherte Pfad ist falsch | Starte mit HOLYARRS_URL_BASE=/, damit er ignoriert wird. |
| Die Anmeldung behandelt dich, als wärst du außerhalb deines Netzwerks | Dem Proxy wird nicht vertraut | Sende X-Real-IP und X-Forwarded-For und setze HOLYARRS_TRUSTED_PROXIES. |
Weitere Lösungen: Fehlerbehebung.
Für Fortgeschrittene
Link zu Für FortgeschritteneRegeln für den Pfad
- Erlaubte Zeichen: Buchstaben, Ziffern,
-,_,.und/. Kein..oder//. holyarrs,/holyarrsund/holyarrs/bedeuten alle/holyarrs.- Ein gespeicherter Pfad, der nicht gültig ist, wird ignoriert.
- Alles zieht unter den Pfad: Seiten, die API, Live-Aktualisierungen, die Anmeldung und Links, die HolyArrs erzeugt (Einladungslinks, der Kalender-Feed).
/healthzund/readyzantworten auch an der Wurzel, damit die Zustandsprüfung des Images weiter funktioniert.- Jede andere Adresse außerhalb des Pfads antwortet mit „not found“.
Was der Proxy tun muss
| Anforderung | Warum |
|---|---|
| Den Pfad unverändert weitergeben | HolyArrs leitet anhand des vollen Pfads weiter. |
Den Host-Header beibehalten |
Host-Prüfungen und erzeugte Links nutzen ihn. |
| Antworten nicht puffern | Live-Aktualisierungen laufen über eine einzige offene Antwort. |
| Langes Lese-Timeout (1 Std.) | Der Strom der Live-Aktualisierungen bleibt offen. |
Verwandte Seiten
Link zu Verwandte SeitenHolyArrs ist kostenlos. Wenn es dir Zeit gespart hat, gib ihm einen Stern auf GitHub, unterstütze es als Sponsor oder spendier mir einen Kaffee.