Hoppa till innehåll

Reverse proxy och URL base

Konfiguration

Lägg HolyArrs på en adress som https://home.example/holyarrs bakom din reverse proxy.

En reverse proxy är webbservern framför dina appar som skickar varje adress till rätt container. URL base är sökvägen som HolyArrs ligger under.

  1. Lägg till sökvägen i din Compose-fil:

    services:
    holyarrs:
    environment:
    - HOLYARRS_URL_BASE=/holyarrs
  2. Starta om containern.

  3. Lägg till en proxyregel från Proxyexempel.

  4. Öppna https://home.example/holyarrs/. Du ska se inloggningssidan. Settings > This app (inställningar > den här appen) visar sökvägen som används.

Var du ställer in sökvägen

Länk till Var du ställer in sökvägen
Var Börjar gälla
HOLYARRS_URL_BASE Vid start. Går före de andra.
Flaggan -url-base /holyarrs Vid start, när variabeln inte är satt.
Settings > This app Vid nästa start, bara när både variabeln och flaggan saknas.

nginx-proxy-manager. Skapa en proxy host för din domän och lägg sedan till en anpassad location:

  • Location: /holyarrs
  • Vidarebefordra värdnamn holyarrs, port 6262. Inget snedstreck i slutet, annars tas sökvägen bort.
  • I den locationens kugghjulsruta:
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. Lägg inte till någon 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. Använd handle. handle_path tar bort sökvägen.

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

Värdnamn och proxyadresser

Länk till Värdnamn och proxyadresser
  • Om folk når HolyArrs via ett värdnamn lägger du till det i HOLYARRS_ALLOWED_HOSTS.
  • Om proxyn lägger till X-Forwarded-For lägger du till proxyns adress i HOLYARRS_TRUSTED_PROXIES. Utan den kan inloggningen inte avgöra vem som sitter på ditt hemmanätverk.
Symptom Orsak Lösning
Varje sida säger att den inte hittas Proxyn tar bort sökvägen Ta bort inställningen som tar bort sökvägen, eller snedstrecket på slutet.
Liveuppdateringar kommer aldrig fram Proxyn buffrar svar Slå av buffringen (proxy_buffering off, flush_interval -1).
En sparad sökväg låste ute dig Den sparade sökvägen är fel Starta med HOLYARRS_URL_BASE=/ för att ignorera den.
Inloggningen behandlar dig som om du var utanför ditt nätverk Proxyn är inte betrodd Skicka X-Real-IP och X-Forwarded-For och sätt HOLYARRS_TRUSTED_PROXIES.

Fler lösningar: Felsökning.

Regler för sökvägen
  • Tillåtna tecken: bokstäver, siffror, -, _, . och /. Inga .. eller //.
  • holyarrs, /holyarrs och /holyarrs/ betyder alla /holyarrs.
  • En sparad sökväg som inte är giltig ignoreras.
  • Allt flyttar under sökvägen: sidor, API:et, liveuppdateringar, inloggning och länkar som HolyArrs bygger (inbjudningslänkar, kalenderflödet).
  • /healthz och /readyz svarar också i roten, så att imagens egen hälsokontroll fortsätter fungera.
  • Alla andra adresser utanför sökvägen svarar att de inte hittas.
Vad proxyn måste göra
Behov Varför
Skicka sökvägen oförändrad HolyArrs dirigerar efter hela sökvägen.
Behåll headern Host Värdkontroller och byggda länkar använder den.
Ingen buffring av svar Liveuppdateringar strömmas över ett öppet svar.
Lång läs-timeout (1 h) Strömmen med liveuppdateringar förblir öppen.

HolyArrs är gratis. Om det sparade dig tid kan du ge det en stjärna på GitHub, sponsra det eller bjuda mig på en kaffe.