We are updating Nginx from 1.4.7 and 1.6.0 and noticed an error in our
likely related to the 1.5.9 change: now nginx expects escaped URIs in
We have an internal location for proxying content from a backend HTTP
(Swift, actually). The location block looks like this:
proxy_set_header X-Auth-Token $4;
Nginx 1.4.7 functions as expected when sending X-Accel-Redirect:
Under 1.6.0 this fails. It produces a GET request to the backend decoded
into spaces and so becomes an invalid HTTP request.
The workaround is to double encode so as to send back
“image%2520with%2520spaces.jpg” to Nginx but we can’t roll this out
Nginx 1.6 because it breaks 1.4… but we can’t roll out 1.6 until the
Is there a solution that works for both?
Posted at Nginx Forum: