Zachovanie zakódovaných ciest v existujúcej trase presmerovania HTTP v NGINX
Použite request_uri, keď zmluva o presmerovaní vyžaduje pôvodnú cestu a dopyt, a zachovajte existujúce overenie cieľa.
Trasa vytvorená z $uri môže odoslať inú cestu, než akú zadal klient. Pri http://service.example/files/a%2Fb?view=raw je escapovaná lomka súčasťou tohto pôvodného zápisu.
| Premenná | Reprezentácia |
|---|---|
| $uri | Aktuálne normalizované URI, ktoré sa môže počas internej obsluhy zmeniť |
| $request_uri | Pôvodné URI požiadavky vrátane jej dopytových argumentov |
V existujúcom usporiadaní HTTP forward proxy, ktoré už vyberá a overuje autoritu cieľa, možno pôvodnú cestu a dopyt zachovať pomocou:
proxy_pass http://$http_host$request_uri;$http_host dodáva vybranú autoritu hlavičky Host v tomto usporiadaní. Zachovajte klientske obmedzenia listenera, zásady cieľa a konfiguráciu prekladu názvov.
Nahradenie $uri$is_args$args týmto výrazom mení odosielanú reprezentáciu; predchádzajúci používa normalizovanú cestu a aktuálne argumenty. Vyberajte podľa zmluvy koncového bodu, najmä keď záleží na escapovaných oddeľovačoch alebo podpis pokrýva pôvodný cieľ. Zámerné prepísanie cesty má inú požiadavku.
Týka sa to viditeľnej HTTP požiadavky. Tunel HTTPS CONNECT prenáša neskoršiu požiadavku vnútri TLS a vyžaduje vlastné podporované spracovanie.