Gå til indhold

Reverse proxy og URL base

Opsætning

Sæt HolyArrs på en adresse som https://home.example/holyarrs bag din reverse proxy.

En reverse proxy er den webserver foran dine apps, som sender hver adresse videre til den rigtige container. URL base er den sti, HolyArrs ligger under.

  1. Tilføj stien til din Compose-fil:

    services:
    holyarrs:
    environment:
    - HOLYARRS_URL_BASE=/holyarrs
  2. Genstart containeren.

  3. Tilføj en proxyregel fra Proxy-eksempler.

  4. Åbn https://home.example/holyarrs/. Du bør kunne se loginsiden. Settings > This app (indstillinger > denne app) viser den sti, der er i brug.

Hvor du sætter stien

Link til Hvor du sætter stien
Hvor Træder i kraft
HOLYARRS_URL_BASE Ved start. Vinder over de andre.
Flaget -url-base /holyarrs Ved start, når variablen ikke er sat.
Settings > This app Ved næste start, kun når både variablen og flaget er usat.

nginx-proxy-manager. Lav en proxy host til dit domæne, og tilføj derefter en brugerdefineret location:

  • Location: /holyarrs
  • Forward hostname holyarrs, port 6262. Ingen skråstreg til sidst, ellers bliver stien fjernet.
  • I tandhjulsboksen for den 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. Tilføj ikke en 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. Brug handle. handle_path fjerner stien.

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

Værtsnavne og proxyadresser

Link til Værtsnavne og proxyadresser
  • Hvis folk når HolyArrs med et værtsnavn, så føj det til HOLYARRS_ALLOWED_HOSTS.
  • Hvis proxyen tilføjer X-Forwarded-For, så føj proxyens adresse til HOLYARRS_TRUSTED_PROXIES. Uden den kan login ikke se, hvem der er på dit hjemmenetværk.

Hvis det ikke virker

Link til Hvis det ikke virker
Symptom Årsag Løsning
Hver side siger “not found” Proxyen fjerner stien Fjern indstillingen, der fjerner stien, eller skråstregen til sidst.
Live-opdateringer kommer aldrig frem Proxyen buffrer svarene Slå buffering fra (proxy_buffering off, flush_interval -1).
En gemt sti låste dig ude Den gemte sti er forkert Start med HOLYARRS_URL_BASE=/ for at ignorere den.
Login behandler dig, som om du er uden for dit netværk Proxyen er ikke betroet Send X-Real-IP og X-Forwarded-For, og sæt HOLYARRS_TRUSTED_PROXIES.

Flere løsninger: Fejlfinding.

Regler for stien
  • Tilladte tegn: bogstaver, cifre, -, _, . og /. Ingen .. eller //.
  • holyarrs, /holyarrs og /holyarrs/ betyder alle /holyarrs.
  • En gemt sti, der ikke er gyldig, bliver ignoreret.
  • Alt flytter ind under stien: sider, API’et, live-opdateringer, login og de links, HolyArrs selv bygger (invitationslinks, kalenderfeedet).
  • /healthz og /readyz svarer også i roden, så imagets eget tilstandstjek bliver ved med at virke.
  • Enhver anden adresse uden for stien svarer “not found”.
Hvad proxyen skal gøre
Behov Hvorfor
Giv stien videre uændret HolyArrs router efter hele stien.
Behold headeren Host Værtstjek og byggede links bruger den.
Ingen buffering af svar Live-opdateringer streames over ét åbent svar.
Lang læse-timeout (1 t) Strømmen med live-opdateringer holdes åben.

HolyArrs er gratis. Hvis det sparede dig tid, kan du give det en stjerne på GitHub, sponsorere det eller give mig en kop kaffe.