En rute bygget av $uri kan sende en annen sti enn den klienten oppga. For http://service.example/files/a%2Fb?view=raw er den escapede skråstreken en del av den opprinnelige skrivemåten.

VariabelRepresentasjon
$uriDen gjeldende normaliserte URI-en, som kan endres under intern behandling
$request_uriDen opprinnelige forespørsels-URI-en, inkludert spørringsargumentene

I en eksisterende HTTP-videresendingsproxy som allerede velger og validerer destinasjonsautoriteten, kan den opprinnelige stien og spørringen bevares med:

proxy_pass http://$http_host$request_uri;

$http_host leverer den valgte Host-headerautoriteten i denne ordningen. Behold lytterens klientbegrensninger, destinasjonspolicyen og konfigurasjonen for navneoppslag.

Å erstatte $uri$is_args$args med dette uttrykket endrer representasjonen som sendes; den forrige bruker den normaliserte stien og de gjeldende argumentene. Velg etter endepunktets kontrakt, særlig når escapede skilletegn har betydning eller en signatur dekker det opprinnelige målet. Bevisst omskriving av stien har et annet krav.

Dette gjelder den synlige HTTP-forespørselen. En HTTPS CONNECT-tunnel bærer den senere forespørselen inne i TLS og krever sin egen støttede håndtering.

Relaterte artikler