Bug? Inconsistent url encoding in X-Accel-Redirect

Brian Moran bmoran at onehub.com
Tue Apr 21 20:52:52 MSD 2009

I believe I've found an inconsistency in url encoding of 
X-Accel-Redirect requests.

The URL that I'm providing in my X-Accel-Redirect header looks something 

When this is supplied to nginx, the PATH part of the url gets url 
encoded, however the parameters are passed untouched to the upstream 
(sniffed with wireshark):

GET /Green%2520Apple.gif?param1=TzJPvoCEV34&param2=U%2F8%3D

(everything BEFORE the ? is urlencoded, the params are not)

I have a really, really gross hack where I only url encode the 
parameters to be supplied, and leave the path alone, then pass to nginx 
but this seems like a bug to me.

It would be convenient to have greater control of the the 
X-Accel-Redirect urlencoding process; there are some times when I'd like
to supply a pre-encoded URL and pass it unchanged to the upstream.

I have tried this in 0.7.6, believe it also occurs in 0.6.x

bmoran -a-t- onehub.com

More information about the nginx mailing list