Lumaktaw sa nilalaman

Reverse proxy at URL base

Setup

Ilagay ang HolyArrs sa address na gaya ng https://home.example/holyarrs sa likod ng reverse proxy mo.

Ang reverse proxy ay ang web server sa harap ng mga app mo na nagpapadala ng bawat address sa tamang container. Ang URL base ay ang path na kinalalagyan ng HolyArrs.

  1. Idagdag ang path sa Compose file mo:

    services:
    holyarrs:
    environment:
    - HOLYARRS_URL_BASE=/holyarrs
  2. I-restart ang container.

  3. Magdagdag ng proxy rule mula sa Mga halimbawa ng proxy.

  4. Buksan ang https://home.example/holyarrs/. Dapat makita mo ang sign-in page. Ipinapakita ng Settings > This app (ang app na ito) ang path na ginagamit.

Saan Kailan ito nagkakabisa
HOLYARRS_URL_BASE Sa simula. Nananaig sa iba.
-url-base /holyarrs flag Sa simula, kapag hindi nakatakda ang variable.
Settings > This app Sa susunod na simula, kapag parehong hindi nakatakda ang variable at flag.

nginx-proxy-manager. Gumawa ng proxy host para sa domain mo, tapos magdagdag ng custom location:

  • Location: /holyarrs
  • Forward hostname holyarrs, port 6262. Walang slash sa dulo, kung hindi ay tatanggalin ang path.
  • Sa gear box ng location na iyon:
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. Huwag magdagdag ng 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. Gamitin ang handle. Tinatanggal ng handle_path ang path.

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

Mga host name at address ng proxy

Link papunta sa Mga host name at address ng proxy
  • Kung host name ang gamit ng mga tao para maabot ang HolyArrs, idagdag ito sa HOLYARRS_ALLOWED_HOSTS.
  • Kung nagdaragdag ang proxy ng X-Forwarded-For, idagdag ang address ng proxy sa HOLYARRS_TRUSTED_PROXIES. Kung wala ito, hindi malalaman ng sign-in kung sino ang nasa home network mo.
Sintomas Dahilan Solusyon
“Not found” ang sinasabi ng bawat page Tinatanggal ng proxy ang path Alisin ang setting na nagtatanggal o ang slash sa dulo.
Hindi dumarating ang mga live update Bina-buffer ng proxy ang mga sagot I-off ang buffering (proxy_buffering off, flush_interval -1).
Na-lock out ka ng na-save na path Mali ang na-save na path Magsimula sa HOLYARRS_URL_BASE=/ para hindi ito pansinin.
Itinuturing kang nasa labas ng network mo ng sign-in Hindi pinagkakatiwalaan ang proxy Ipadala ang X-Real-IP at X-Forwarded-For, at itakda ang HOLYARRS_TRUSTED_PROXIES.

Higit pang solusyon: Pag-troubleshoot.

Mga patakaran sa path
  • Mga pinapayagang karakter: letra, digit, -, _, . at /. Bawal ang .. o //.
  • Pareho ang ibig sabihin ng holyarrs, /holyarrs at /holyarrs/: /holyarrs.
  • Binabalewala ang na-save na path na hindi valid.
  • Lahat ay lumilipat sa ilalim ng path: mga page, ang API, mga live update, sign-in, at mga link na binubuo ng HolyArrs (mga link ng imbitasyon, ang calendar feed).
  • Sumasagot din ang /healthz at /readyz sa root, para patuloy na gumana ang sariling health check ng image.
  • Ang anumang ibang address sa labas ng path ay sumasagot ng “not found”.
Ano ang dapat gawin ng proxy
Kailangan Bakit
Ipasa ang path nang walang binabago Nagru-route ang HolyArrs ayon sa buong path.
Panatilihin ang Host header Ginagamit ito ng mga pagsusuri ng host at ng mga binuong link.
Walang buffering ng sagot Dumadaloy ang mga live update sa iisang bukas na sagot.
Mahabang read timeout (1 h) Nananatiling bukas ang stream ng mga live update.

Libre ang HolyArrs. Kung nakatipid ito ng oras mo, bigyan ito ng star sa GitHub, i-sponsor ito o ibili ako ng kape.