Repost: Inconsistent URL encoding in X-Accel-Redirect

Brian Moran bmoran at onehub.com
Wed May 6 03:44:39 MSD 2009


Sorry for the repost :: can anyone else confirm what we're seeing? :
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 
like:
/BACKING_HOST_LOCATION/Green%20Apple.gif?param1=TzJPvoCEV34&param2=U%2F8%3D

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