Welcome! Log In Create A New Profile

Advanced

Re: Rewrite URI and pass request to the upstream server

Maxim Dounin
March 17, 2009 02:09PM
Hello!

On Tue, Mar 17, 2009 at 10:19:58AM -0700, mike wrote:

> On Tue, Mar 17, 2009 at 10:09 AM, Ruben. D. <ruben.grunge84@gmail.com> wrote:
> > Hi friends, I need rewrite and old URI and pass the request to the upstream
> > server, here is my current config file:
> > http://pastie.org/418871
> >
> > If for example I have http://pe.domain.com/xx-xxx-689 I need redirect to
> > http://cl.domain.com/xx-xxx-689 and let the upstream process the new
> > request, with my current config I've obtained the rewrite of the URI but
> > nginx return me a 404 error, therefore it is not transfering the request to
> > the upstream server because the 404 error page are different between nginx
> > and my application.
>
> This is a wild shot but you might try
>
> - proxy_pass http://mongrel;
> + proxy_pass http://mongrel/;
>
> I've never used named upstream locations but the ending slash does
> have a different effect when passing HTTP to a backend. I believe it
> maintains the /uri/ request as is, instead of winding up being
> /uri/uri duplicated (I think is the easiest way to explain it?)

No.

Form of proxy_pass with uri component (proxy_pass http://mongrel/)
changes matched location prefix to this uri component. So, for

location /blah/ {
proxy_pass http://backend/boom/;
}

and request "/blah/something" your backend will see
"/boom/something".

Without uri component (proxy_pass http://mongrel) uri will be
transfered to backend as is, i.e. for

location /blah/ {
proxy_pass http://backend;
}

and request "/blah/something" your backend will see
"/blah/something".

For location / as you may see from the above form doesn't matter,
and

proxy_pass http://mongrel;
proxy_pass http://mongrel/;

are equivalent (while the second one will eat a bit more CPU).

Maxim Dounin
Subject Author Posted

Rewrite URI and pass request to the upstream server

Ruben. D. March 17, 2009 01:35PM

Re: Rewrite URI and pass request to the upstream server

mike March 17, 2009 01:46PM

Re: Rewrite URI and pass request to the upstream server

Maxim Dounin March 17, 2009 02:09PM

Re: Rewrite URI and pass request to the upstream server

mike March 17, 2009 06:44PM

Re: Rewrite URI and pass request to the upstream server

Ruben. D. March 17, 2009 06:44PM

Re: Rewrite URI and pass request to the upstream server

Maxim Dounin March 17, 2009 02:05PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 195
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready