I am using nginx as a reverse proxy. My requirement is nginx needs to
pass
the url passed by client as-is to the proxy server.
I have set the proxy_pass to hostname:port without the uri part
As per the docs ,If it is necessary to transmit URI in the unprocessed
form
then directive proxy_pass should be used without URI part
Despite this,nginx does some sort of processing on the uri.The
percentages
get escaped and are replaced by %25.
Uri sent by nginx after processing - /this%25bthat/
Additionaly,when client passes latin characters like %EA,proxy_pass
further
encodes to some random value which cannot be processed by the client.
Note that changing charset isn’t of much help here.
Any insights,approaches to circumvent this is highly appreciated.
Uri sent by nginx after processing - /this%25bthat/
Additionaly,when client passes latin characters like %EA,proxy_pass further
encodes to some random value which cannot be processed by the client.
Note that changing charset isn’t of much help here.
Any insights,approaches to circumvent this is highly appreciated.
Symptoms you describe suggests there are rewrites in you config
which mess up things. Note that proxy_pass even without URI will
have to re-encode URI if you change it with rewrites.