proxy pass encoding % problem

Krupa nginx-forum at nginx.us
Tue May 7 09:45:50 UTC 2013


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.

Example: Client url -  http://10.10.10.10:90/this%2Bthat/

proxy_pass - http://10.10.2.50:8080

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.

Posted at Nginx Forum: http://forum.nginx.org/read.php?2,238933,238933#msg-238933



More information about the nginx mailing list