Reverzní proxy a URL base
Nastavení
Dej HolyArrs na adresu jako https://home.example/holyarrs za svou reverzní proxy.
Reverzní proxy je webový server před tvými aplikacemi, který posílá každou adresu do správného kontejneru. URL base je cesta, pod kterou HolyArrs běží.
Nastavení cesty
Odkaz na Nastavení cesty-
Přidej cestu do svého Compose souboru:
services:holyarrs:environment:- HOLYARRS_URL_BASE=/holyarrs -
Restartuj kontejner.
-
Přidej pravidlo proxy z části Příklady proxy.
-
Otevři
https://home.example/holyarrs/. Měl bys vidět přihlašovací stránku. Settings > This app (Nastavení > Tato aplikace) ukazuje použitou cestu.
Možnosti
Odkaz na MožnostiKde nastavit cestu
Odkaz na Kde nastavit cestu| Kde | Kdy se projeví |
|---|---|
HOLYARRS_URL_BASE |
Při spuštění. Má přednost před ostatními. |
parametr -url-base /holyarrs |
Při spuštění, když proměnná není nastavená. |
| Settings > This app | Při dalším spuštění, jen když proměnná i parametr nejsou nastavené. |
Příklady proxy
Odkaz na Příklady proxynginx-proxy-manager. Vytvoř proxy host pro svou doménu a pak přidej vlastní location:
- Location:
/holyarrs - Forward hostname
holyarrs, port6262. Bez lomítka na konci, jinak se cesta odřízne. - V ozubeném kolečku té 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. Nepřidávej middleware StripPrefix.
labels: - traefik.enable=true - traefik.http.routers.holyarrs.rule=Host(`home.example`) && PathPrefix(`/holyarrs`) - traefik.http.services.holyarrs.loadbalancer.server.port=6262Caddy. Použij handle. handle_path cestu odřízne.
home.example { handle /holyarrs* { reverse_proxy holyarrs:6262 { flush_interval -1 } }}Názvy hostitelů a adresy proxy
Odkaz na Názvy hostitelů a adresy proxy- Když se lidé k HolyArrs připojují přes název hostitele, přidej ho do
HOLYARRS_ALLOWED_HOSTS. - Když proxy přidává
X-Forwarded-For, přidej adresu proxy doHOLYARRS_TRUSTED_PROXIES. Bez toho přihlášení nepozná, kdo je v tvé domácí síti.
Když to nefunguje
Odkaz na Když to nefunguje| Příznak | Příčina | Řešení |
|---|---|---|
| Každá stránka hlásí, že nebyla nalezena | Proxy odřezává cestu | Odeber nastavení odřezávání nebo lomítko na konci. |
| Živé aktualizace nikdy nepřijdou | Proxy ukládá odpovědi do vyrovnávací paměti | Vypni ukládání do vyrovnávací paměti (proxy_buffering off, flush_interval -1). |
| Uložená cesta tě zamkla venku | Uložená cesta je špatná | Spusť s HOLYARRS_URL_BASE=/, aby se ignorovala. |
| Přihlášení tě bere jako někoho mimo tvou síť | Proxy není důvěryhodná | Posílej X-Real-IP a X-Forwarded-For a nastav HOLYARRS_TRUSTED_PROXIES. |
Další řešení: Řešení potíží.
Pro pokročilé
Odkaz na Pro pokročiléPravidla pro cestu
- Povolené znaky: písmena, číslice,
-,_,.a/. Žádné..ani//. holyarrs,/holyarrsi/holyarrs/znamenají/holyarrs.- Uložená cesta, která není platná, se ignoruje.
- Pod cestu se přesune všechno: stránky, API, živé aktualizace, přihlášení a odkazy, které HolyArrs sestavuje (odkazy s pozvánkou, feed kalendáře).
/healthza/readyzodpovídají i v kořeni, takže vlastní kontrola zdraví v image dál funguje.- Jakákoli jiná adresa mimo cestu odpoví, že nebyla nalezena.
Co musí proxy umět
| Požadavek | Proč |
|---|---|
| Předat cestu beze změny | HolyArrs směruje podle celé cesty. |
Zachovat hlavičku Host |
Kontroly hostitele a sestavené odkazy ji používají. |
| Žádná vyrovnávací paměť odpovědí | Živé aktualizace se streamují jednou otevřenou odpovědí. |
| Dlouhý timeout čtení (1 h) | Stream živých aktualizací zůstává otevřený. |
Související
Odkaz na SouvisejícíHolyArrs je zdarma. Pokud ti ušetřil čas, dej mu hvězdičku na GitHubu, podpoř ho sponzorstvím nebo kup mi kávu.