Tovább a tartalomhoz

Reverse proxy és URL base

Beállítás

Tedd a HolyArrsot egy olyan címre, mint a https://home.example/holyarrs, a reverse proxyd mögött.

A reverse proxy az appjaid előtt álló webszerver, amely minden címet a megfelelő containerhez irányít. Az URL base az az útvonal, amely alatt a HolyArrs elérhető.

  1. Add hozzá az útvonalat a Compose fájlodhoz:

    services:
    holyarrs:
    environment:
    - HOLYARRS_URL_BASE=/holyarrs
  2. Indítsd újra a containert.

  3. Adj hozzá egy proxy-szabályt a Proxy példák közül.

  4. Nyisd meg a https://home.example/holyarrs/ címet. A bejelentkezési oldalt kell látnod. A Settings > This app (Beállítások > Ez az app) oldalon látszik a használt útvonal.

Hol Mikor lép érvénybe
HOLYARRS_URL_BASE Indításkor. Felülírja a többit.
-url-base /holyarrs kapcsoló Indításkor, ha a változó nincs megadva.
Settings > This app A következő indításkor, csak ha a változó és a kapcsoló sincs megadva.

nginx-proxy-manager. Hozz létre egy proxy hostot a domainedhez, majd adj hozzá egy egyéni location-t:

  • Location: /holyarrs
  • Forward hostname: holyarrs, port: 6262. A végén ne legyen perjel, különben az útvonal levágódik.
  • A location fogaskerék-ablakában:
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 adj hozzá StripPrefix middleware-t.

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

Caddy. Használd a handle direktívát. A handle_path levágja az útvonalat.

home.example {
handle /holyarrs* {
reverse_proxy holyarrs:6262 {
flush_interval -1
}
}
}
  • Ha gépnéven érik el a HolyArrsot, add hozzá a nevet a HOLYARRS_ALLOWED_HOSTS változóhoz.
  • Ha a proxy hozzáadja az X-Forwarded-For fejlécet, add hozzá a proxy címét a HOLYARRS_TRUSTED_PROXIES változóhoz. Enélkül a bejelentkezés nem tudja megállapítani, ki van az otthoni hálózaton.
Tünet Ok Megoldás
Minden oldal “not found” választ ad A proxy levágja az útvonalat Töröld a levágó beállítást vagy a záró perjelet.
Az élő frissítések nem érkeznek meg A proxy pufferel a válaszokat Kapcsold ki a pufferelést (proxy_buffering off, flush_interval -1).
Egy elmentett útvonal miatt kizártad magad Az elmentett útvonal hibás Indítsd a HOLYARRS_URL_BASE=/ beállítással, hogy figyelmen kívül hagyja.
A bejelentkezés a hálózatodon kívülinek tekint A proxy nem megbízható Küldd az X-Real-IP és az X-Forwarded-For fejlécet, és állítsd be a HOLYARRS_TRUSTED_PROXIES változót.

További megoldások: Hibaelhárítás.

Az útvonal szabályai
  • Engedélyezett karakterek: betűk, számjegyek, -, _, . és /. Nem lehet benne .. vagy //.
  • A holyarrs, a /holyarrs és a /holyarrs/ egyaránt a /holyarrs útvonalat jelenti.
  • Az érvénytelen elmentett útvonalat a HolyArrs figyelmen kívül hagyja.
  • Minden az útvonal alá kerül: az oldalak, az API, az élő frissítések, a bejelentkezés és a HolyArrs által épített hivatkozások (meghívó hivatkozások, naptár-feed).
  • A /healthz és a /readyz a gyökéren is válaszol, így az image saját állapotellenőrzése tovább működik.
  • Az útvonalon kívüli minden más cím “not found” választ ad.
Mit kell tudnia a proxynak
Követelmény Miért
Az útvonalat változtatás nélkül adja tovább A HolyArrs a teljes útvonal alapján irányít.
Tartsa meg a Host fejlécet A gépnév-ellenőrzések és az épített hivatkozások ezt használják.
Ne pufferelje a válaszokat Az élő frissítések egyetlen nyitott válaszon folynak.
Hosszú olvasási időkorlát (1 óra) Az élő frissítések adatfolyama nyitva marad.

A HolyArrs ingyenes. Ha időt spórolt neked, adj neki egy csillagot a GitHubon, támogasd vagy hívj meg egy kávéra.