Preskočiť na obsah

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ží.

  1. Pridaj cestu do súboru Compose:

    services:
    holyarrs:
    environment:
    - HOLYARRS_URL_BASE=/holyarrs
  2. Reštartuj kontajner.

  3. Pridaj pravidlo proxy z Príkladov proxy.

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

Kde 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é.

nginx-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, port 6262. 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=6262

Caddy. 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 do HOLYARRS_TRUSTED_PROXIES. Bez toho prihlásenie nevie rozpoznať, kto je v tvojej domácej sieti.
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.

Pravidlá cesty
  • Povolené znaky: písmená, číslice, -, _, . a /. Žiadne .. ani //.
  • holyarrs, /holyarrs aj /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).
  • /healthz a /readyz odpovedajú 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ánky

HolyArrs je zadarmo. Ak ti ušetril čas, daj mu hviezdičku na GitHube, podpor ho alebo kúp mi kávu.