How to tell Nginx not to decode URL for proxy_pass?

Hi,

I need to pass a certain URI namespace to an upstream servers, while
taking
away the prefix. Consider following configuration:

location ^~ /going-to-upstream/ {
    access_log off;
    rewrite /upstream(/.*) $1 break;
    proxy_pass http://upstream;
}

location / {
    # Actual server
}

So, whenever I will get a request to
http://server/going-to-upstream/something -> I should have a request in
my
upstream server for “/something”. And I do.

However, as soon as the upstream part has something urlencoded, for
example
an url, nginx decodes the url and passes it in decoded format to the
upstream. An example:

http://server/going-to-upstream/something/http%3A%2F%2Fserver%2F
will cause an upstream request “/something/http://server/” while I would
need literally “/something/http%3A%2F%2Fserver%2F”

How could I make the nginx to not decode the URI in rewrite?

(My actual use case is related to using Thumbor, see
http://tech.yipit.com/2013/01/03/how-yipit-scales-thumbnailing-with-thumbor-and-cloudfront/.
They have a dedicated nginx server { } for this, but I need to use an
existing to make Thumbor urls to live under our main application
domain.)

Best regards,
Ville

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs