Sari la conținut

Proxy invers și URL base

Configurare

Pune HolyArrs la o adresă ca https://home.example/holyarrs, în spatele proxy-ului tău invers.

Un proxy invers este serverul web din fața aplicațiilor tale, care trimite fiecare adresă la containerul potrivit. URL base este calea sub care stă HolyArrs.

  1. Adaugă calea în fișierul tău Compose:

    services:
    holyarrs:
    environment:
    - HOLYARRS_URL_BASE=/holyarrs
  2. Repornește containerul.

  3. Adaugă o regulă de proxy din Exemple de proxy.

  4. Deschide https://home.example/holyarrs/. Ar trebui să vezi pagina de conectare. Settings > This app (Setări > Această aplicație) arată calea folosită.

Unde Când se aplică
HOLYARRS_URL_BASE La pornire. Are prioritate față de celelalte.
Parametrul -url-base /holyarrs La pornire, când variabila nu e setată.
Settings > This app La următoarea pornire, doar când variabila și parametrul sunt amândouă nesetate.

nginx-proxy-manager. Fă o gazdă proxy pentru domeniul tău, apoi adaugă o locație personalizată:

  • Locație: /holyarrs
  • Trimite la hostname holyarrs, portul 6262. Fără slash la final, altfel calea e tăiată.
  • În caseta cu roata dințată a acelei locații:
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. Nu adăuga un middleware StripPrefix.

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

Caddy. Folosește handle. handle_path taie calea.

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

Nume de gazdă și adrese de proxy

Link către Nume de gazdă și adrese de proxy
  • Dacă oamenii ajung la HolyArrs printr-un nume de gazdă, adaugă-l în HOLYARRS_ALLOWED_HOSTS.
  • Dacă proxy-ul adaugă X-Forwarded-For, adaugă adresa proxy-ului în HOLYARRS_TRUSTED_PROXIES. Fără ea, conectarea nu poate ști cine e în rețeaua ta de acasă.
Simptom Cauză Soluție
Fiecare pagină spune not found Proxy-ul taie calea Scoate setarea de tăiere sau slash-ul de la final.
Actualizările în direct nu mai ajung Proxy-ul pune răspunsurile în buffer Oprește bufferingul (proxy_buffering off, flush_interval -1).
O cale salvată te-a blocat afară Calea salvată e greșită Pornește cu HOLYARRS_URL_BASE=/ ca s-o ignori.
Conectarea te consideră în afara rețelei tale Proxy-ul nu e de încredere Trimite X-Real-IP și X-Forwarded-For și setează HOLYARRS_TRUSTED_PROXIES.

Mai multe soluții: Depanare.

Reguli pentru cale
  • Caractere permise: litere, cifre, -, _, . și /. Fără .. sau //.
  • holyarrs, /holyarrs și /holyarrs/ înseamnă toate /holyarrs.
  • O cale salvată care nu e validă este ignorată.
  • Totul se mută sub cale: paginile, API-ul, actualizările în direct, conectarea și linkurile pe care le construiește HolyArrs (linkuri de invitație, feed-ul calendarului).
  • /healthz și /readyz răspund și la rădăcină, așa că verificarea de sănătate a imaginii continuă să meargă.
  • Orice altă adresă din afara căii răspunde not found.
Ce trebuie să facă proxy-ul
Cerință De ce
Trimite calea neschimbată HolyArrs rutează după calea întreagă.
Păstrează antetul Host Verificările de gazdă și linkurile construite îl folosesc.
Fără buffer pe răspunsuri Actualizările în direct curg printr-un singur răspuns deschis.
Timeout lung la citire (1 h) Fluxul de actualizări în direct rămâne deschis.

HolyArrs este gratuit. Dacă ți-a economisit timp, dă-i o stea pe GitHub, sponsorizează-l sau cumpără-mi o cafea.