Reverse proxy a URL base
Nastavenie
Daj HolyArrs na adresu ako https://home.example/holyarrs za svoj reverse proxy.
Reverse proxy je webový server pred tvojimi aplikáciami, ktorý posiela každú adresu do správneho kontajnera. URL base je cesta, pod ktorou HolyArrs beží.
Nastav cestu
Odkaz na Nastav cestu-
Pridaj cestu do súboru Compose:
services:holyarrs:environment:- HOLYARRS_URL_BASE=/holyarrs -
Reštartuj kontajner.
-
Pridaj pravidlo proxy z Príkladov proxy.
-
Otvor
https://home.example/holyarrs/. Mal by si vidieť stránku prihlásenia. Settings > This app (nastavenia > táto aplikácia) ukazuje používanú cestu.
Možnosti
Odkaz na MožnostiKde nastaviť cestu
Odkaz na Kde nastaviť cestu| Kde | Kedy platí |
|---|---|
HOLYARRS_URL_BASE |
Pri spustení. Má prednosť pred ostatnými. |
Parameter -url-base /holyarrs |
Pri spustení, keď premenná nie je nastavená. |
| Settings > This app | Pri ďalšom spustení, iba keď premenná aj parameter nie sú nastavené. |
Príklady proxy
Odkaz na Príklady proxynginx-proxy-manager. Vytvor proxy host pre svoju doménu a potom pridaj vlastné umiestnenie:
- Location (umiestnenie):
/holyarrs - Forward hostname (názov hostiteľa na presmerovanie)
holyarrs, port6262. Bez lomky na konci, inak sa cesta odstráni. - V ozubenom koliesku tohto umiestnenia:
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. Nepridávaj 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ži handle. handle_path cestu odstráni.
home.example { handle /holyarrs* { reverse_proxy holyarrs:6262 { flush_interval -1 } }}Mená hostiteľov a adresy proxy
Odkaz na Mená hostiteľov a adresy proxy- Ak sa ľudia k HolyArrs dostávajú cez meno hostiteľa, pridaj ho do
HOLYARRS_ALLOWED_HOSTS. - Ak proxy pridáva
X-Forwarded-For, pridaj adresu proxy doHOLYARRS_TRUSTED_PROXIES. Bez toho prihlásenie nevie rozpoznať, kto je v tvojej domácej sieti.
Ak to nefunguje
Odkaz na Ak to nefunguje| Príznak | Príčina | Riešenie |
|---|---|---|
| Každá stránka hlási, že nebola nájdená | Proxy odstraňuje cestu | Odstráň nastavenie odstraňovania alebo lomku na konci. |
| Živé aktualizácie nikdy nedorazia | Proxy ukladá odpovede do vyrovnávacej pamäte | Vypni buffering (proxy_buffering off, flush_interval -1). |
| Uložená cesta ťa zamkla von | Uložená cesta je nesprávna | Spusti s HOLYARRS_URL_BASE=/, aby sa ignorovala. |
| Prihlásenie ťa berie, akoby si bol mimo domácej siete | Proxy nie je dôveryhodný | Posielaj X-Real-IP a X-Forwarded-For a nastav HOLYARRS_TRUSTED_PROXIES. |
Ďalšie riešenia: Riešenie problémov.
Pre expertov
Odkaz na Pre expertovPravidlá cesty
- Povolené znaky: písmená, číslice,
-,_,.a/. Žiadne..ani//. holyarrs,/holyarrsaj/holyarrs/znamenajú/holyarrs.- Uložená cesta, ktorá nie je platná, sa ignoruje.
- Všetko sa presunie pod cestu: stránky, API, živé aktualizácie, prihlásenie a odkazy, ktoré HolyArrs vytvára (odkazy na pozvánky, feed kalendára).
/healthza/readyzodpovedajú aj v koreni, takže vlastná kontrola stavu image ďalej funguje.- Každá iná adresa mimo cesty odpovie, že nebola nájdená.
Čo musí proxy robiť
| Potreba | Prečo |
|---|---|
| Posielať cestu nezmenenú | HolyArrs smeruje podľa celej cesty. |
Zachovať hlavičku Host |
Používa ju kontrola hostiteľa a vytvárané odkazy. |
| Žiadne ukladanie odpovedí do vyrovnávacej pamäte | Živé aktualizácie idú ako prúd v jednej otvorenej odpovedi. |
| Dlhý časový limit čítania (1 h) | Prúd živých aktualizácií ostáva otvorený. |
Súvisiace stránky
Odkaz na Súvisiace stránkyHolyArrs je zadarmo. Ak ti ušetril čas, daj mu hviezdičku na GitHube, podpor ho alebo kúp mi kávu.