Gå til innholdet

Reverse proxy og URL base

Oppsett

Legg HolyArrs på en adresse som https://home.example/holyarrs bak din reverse proxy.

En reverse proxy er webserveren foran appene dine som sender hver adresse til riktig container. URL base er stien HolyArrs ligger under.

  1. Legg stien til i Compose-filen din:

    services:
    holyarrs:
    environment:
    - HOLYARRS_URL_BASE=/holyarrs
  2. Start containeren på nytt.

  3. Legg til en proxy-regel fra Proxy-eksempler.

  4. Åpne https://home.example/holyarrs/. Du skal se innloggingssiden. Settings > This app (innstillinger > denne appen) viser stien som er i bruk.

Hvor du setter stien

Lenke til Hvor du setter stien
Hvor Når den trer i kraft
HOLYARRS_URL_BASE Ved oppstart. Gjelder foran de andre.
Flagget -url-base /holyarrs Ved oppstart, når variabelen ikke er satt.
Settings > This app Ved neste oppstart, bare når verken variabelen eller flagget er satt.

nginx-proxy-manager. Lag en proxy host for domenet ditt, og legg så til en egendefinert location:

  • Location: /holyarrs
  • Forward hostname holyarrs, port 6262. Ingen skråstrek til slutt, ellers fjernes stien.
  • I tannhjulboksen til den locationen:
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. Ikke legg til 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. Bruk handle. handle_path fjerner stien.

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

Vertsnavn og proxy-adresser

Lenke til Vertsnavn og proxy-adresser
  • Hvis folk når HolyArrs med et vertsnavn, legger du det til i HOLYARRS_ALLOWED_HOSTS.
  • Hvis proxyen legger til X-Forwarded-For, legger du adressen til proxyen i HOLYARRS_TRUSTED_PROXIES. Uten den kan innloggingen ikke se hvem som er på hjemmenettverket ditt.

Hvis det ikke fungerer

Lenke til Hvis det ikke fungerer
Symptom Årsak Løsning
Hver side sier at den ikke finnes Proxyen fjerner stien Fjern innstillingen som fjerner stien, eller skråstreken på slutten.
Live-oppdateringer kommer aldri Proxyen buffrer svar Slå av buffring (proxy_buffering off, flush_interval -1).
En lagret sti låste deg ute Den lagrede stien er feil Start med HOLYARRS_URL_BASE=/ for å se bort fra den.
Innloggingen behandler deg som utenfor nettverket ditt Proxyen er ikke betrodd Send X-Real-IP og X-Forwarded-For, og sett HOLYARRS_TRUSTED_PROXIES.

Flere løsninger: Feilsøking.

Regler for stien
  • Tillatte tegn: bokstaver, siffer, -, _, . og /. Ikke .. eller //.
  • holyarrs, /holyarrs og /holyarrs/ betyr alle /holyarrs.
  • En lagret sti som ikke er gyldig, ignoreres.
  • Alt flyttes under stien: sider, API-et, live-oppdateringer, innlogging og lenker HolyArrs bygger (invitasjonslenker, kalenderfeeden).
  • /healthz og /readyz svarer også på roten, så helsesjekken til imaget fortsetter å fungere.
  • Alle andre adresser utenfor stien svarer at de ikke finnes.
Hva proxyen må gjøre
Behov Hvorfor
Sende stien videre uendret HolyArrs ruter etter hele stien.
Beholde Host-headeren Vertssjekker og lenkene HolyArrs bygger, bruker den.
Ingen buffring av svar Live-oppdateringer strømmer over ett åpent svar.
Lang lese-timeout (1 t) Strømmen med live-oppdateringer står åpen.

HolyArrs er gratis. Hvis det sparte deg tid, kan du gi det en stjerne på GitHub, sponse det eller spandere en kaffe.