Preskoči na sadržaj

Reverse proxy i URL base

Postavljanje

Stavi HolyArrs na adresu poput https://home.example/holyarrs iza svog reverse proxyja.

Reverse proxy je web server ispred tvojih aplikacija koji svaku adresu šalje na pravi container. URL base je putanja ispod koje HolyArrs živi.

  1. Dodaj putanju u svoju Compose datoteku:

    services:
    holyarrs:
    environment:
    - HOLYARRS_URL_BASE=/holyarrs
  2. Ponovno pokreni container.

  3. Dodaj pravilo za proxy iz Primjera za proxy.

  4. Otvori https://home.example/holyarrs/. Vidjet ćeš stranicu za prijavu. Settings > This app (Postavke > Ova aplikacija) prikazuje putanju koja se koristi.

Gdje Kada stupa na snagu
HOLYARRS_URL_BASE Pri pokretanju. Nadjačava ostalo.
zastavica -url-base /holyarrs Pri pokretanju, kad varijabla nije postavljena.
Settings > This app Pri sljedećem pokretanju, samo kad nisu postavljene ni varijabla ni zastavica.

nginx-proxy-manager. Napravi proxy host za svoju domenu, zatim dodaj prilagođenu lokaciju:

  • Location: /holyarrs
  • Forward hostname holyarrs, port 6262. Bez kose crte na kraju, inače se putanja uklanja.
  • U kućici sa zupčanikom te lokacije:
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. Ne dodaj StripPrefix middleware.

labels:
- traefik.enable=true
- traefik.http.routers.holyarrs.rule=Host(`home.example`) && PathPrefix(`/holyarrs`)
- traefik.http.services.holyarrs.loadbalancer.server.port=6262

Caddy. Koristi handle. handle_path uklanja putanju.

home.example {
handle /holyarrs* {
reverse_proxy holyarrs:6262 {
flush_interval -1
}
}
}

Imena hosta i adrese proxyja

Poveznica na Imena hosta i adrese proxyja
  • Ako ljudi do HolyArrs dolaze preko imena hosta, dodaj ga u HOLYARRS_ALLOWED_HOSTS.
  • Ako proxy dodaje X-Forwarded-For, dodaj adresu proxyja u HOLYARRS_TRUSTED_PROXIES. Bez toga prijava ne može znati tko je u tvojoj kućnoj mreži.
Simptom Uzrok Rješenje
Svaka stranica javlja da nije pronađena Proxy uklanja putanju Ukloni postavku za uklanjanje ili kosu crtu na kraju.
Ažuriranja uživo nikad ne stižu Proxy sprema odgovore u međuspremnik Isključi međuspremnik (proxy_buffering off, flush_interval -1).
Spremljena putanja te je zaključala Spremljena putanja je pogrešna Pokreni s HOLYARRS_URL_BASE=/ da je zanemariš.
Prijava te smatra osobom izvan tvoje mreže Proxy nije pouzdan Šalji X-Real-IP i X-Forwarded-For te postavi HOLYARRS_TRUSTED_PROXIES.

Više rješenja: Rješavanje problema.

Pravila za putanju
  • Dopušteni znakovi: slova, znamenke, -, _, . i /. Bez .. ili //.
  • holyarrs, /holyarrs i /holyarrs/ svi znače /holyarrs.
  • Spremljena putanja koja nije valjana zanemaruje se.
  • Sve se premješta ispod putanje: stranice, API, ažuriranja uživo, prijava i poveznice koje HolyArrs gradi (pozivnice, kalendarski feed).
  • /healthz i /readyz odgovaraju i na korijenu, pa provjera stanja samog imagea nastavlja raditi.
  • Svaka druga adresa izvan putanje odgovara da nije pronađena.
Što proxy mora raditi
Potreba Zašto
Proslijediti putanju nepromijenjenu HolyArrs usmjerava prema punoj putanji.
Zadržati zaglavlje Host Provjere hosta i izgrađene poveznice koriste ga.
Bez međuspremnika za odgovore Ažuriranja uživo stižu preko jednog otvorenog odgovora.
Dug timeout čitanja (1 h) Tok ažuriranja uživo ostaje otvoren.

HolyArrs je besplatan. Ako ti je uštedio vrijeme, daj mu zvjezdicu na GitHubu, podrži ga ili počasti me kavom.