Zum Inhalt springen

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
  1. Füge den Pfad in deine Compose-Datei ein:

    services:
    holyarrs:
    environment:
    - HOLYARRS_URL_BASE=/holyarrs
  2. Starte den Container neu.

  3. Füge eine Proxy-Regel aus den Proxy-Beispielen hinzu.

  4. Öffne https://home.example/holyarrs/. Du solltest die Anmeldeseite sehen. Settings > This app (Einstellungen > Diese App) zeigt den Pfad, der gerade gilt.

Wo 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.

nginx-proxy-manager. Lege einen Proxy-Host für deine Domain an und füge dann eine Custom Location hinzu:

  • Location: /holyarrs
  • Forward-Hostname holyarrs, Port 6262. 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=6262

Caddy. 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_HOSTS hinzu.
  • Wenn der Proxy X-Forwarded-For hinzufügt, füge die Adresse des Proxys zu HOLYARRS_TRUSTED_PROXIES hinzu. 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 Fortgeschrittene
Regeln für den Pfad
  • Erlaubte Zeichen: Buchstaben, Ziffern, -, _, . und /. Kein .. oder //.
  • holyarrs, /holyarrs und /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).
  • /healthz und /readyz antworten 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 Seiten

HolyArrs ist kostenlos. Wenn es dir Zeit gespart hat, gib ihm einen Stern auf GitHub, unterstütze es als Sponsor oder spendier mir einen Kaffee.