Rewriting location directive by upstream servers

Francis Daly francis at
Tue Sep 30 18:56:36 UTC 2014

On Fri, Sep 26, 2014 at 10:12:47AM +0530, thunder hill wrote:
> On Fri, Sep 26, 2014 at 2:35 AM, Francis Daly <francis at> wrote:
> > On Fri, Sep 26, 2014 at 01:20:18AM +0530, thunder hill wrote:

Hi there,

> > > When I access the upstream server rewrites the url like
> > > instead of and  the result is a
> > > blank page.
> > >
> > > Users are allowed either or In both the
> > > cases app1 and app2 are getting rewritten with login or some other
> > > extension. How to solve this issue.?
> >
> > I believe that the easiest way, if you want both to be available via
> > the same hostname, is to install-or-configure app1 on backend1 to be
> > available below the url /app1/, not below /.

> Thats the easiest way. Unfortunately there is no control over backend
> server(s).

I believe the next easiest thing to do is to change the requirements,
so that users access or
instead of or

You can allow initial access to, and would
issue a http redirect to, and have the server{}
listening for that name proxy_pass to one backend.

> Just a thought:
> Is there a way to keep the url and go on with
> That means backend server can only rewrite the
> strings after

That depends (almost) entirely on the backend; but if you do not control
it, I would be surprised if you can make it do this.

(To my mind, if you don't control the backend, you don't reverse proxy
to it. But that is probably not a universal opinion.)

Francis Daly        francis at

More information about the nginx mailing list