Zachování zakódovaných cest ve stávající trase přesměrování HTTP v NGINX
Použijte request_uri, když smlouva o přesměrování vyžaduje původní cestu a dotaz, a zachovejte stávající ověření cíle.
Trasa vytvořená z $uri může odeslat jinou cestu, než jakou klient zadal. U http://service.example/files/a%2Fb?view=raw je escapované lomítko součástí tohoto původního zápisu.
| Proměnná | Reprezentace |
|---|---|
| $uri | Aktuální normalizované URI, které se může během interního zpracování změnit |
| $request_uri | Původní URI požadavku včetně jeho dotazovacích argumentů |
Ve stávajícím uspořádání HTTP forward proxy, které již vybírá a ověřuje autoritu cíle, lze původní cestu a dotaz zachovat pomocí:
proxy_pass http://$http_host$request_uri;$http_host dodává vybranou autoritu hlavičky Host v tomto uspořádání. Zachovejte klientská omezení listeneru, zásady cíle a konfiguraci překladu názvů.
Nahrazení $uri$is_args$args tímto výrazem mění odesílanou reprezentaci; předchozí výraz používá normalizovanou cestu a aktuální argumenty. Vybírejte podle smlouvy koncového bodu, zejména když záleží na escapovaných oddělovačích nebo podpis pokrývá původní cíl. Záměrné přepisování cesty má jiný požadavek.
To platí pro viditelný požadavek HTTP. Tunel HTTPS CONNECT nese pozdější požadavek uvnitř TLS a vyžaduje vlastní podporované zpracování.