Reverse proxy for multiple domains

Francis Daly francis at daoine.org
Thu Aug 17 19:35:48 UTC 2017


On Thu, Aug 10, 2017 at 09:17:14PM +0000, Mik J via nginx wrote:

Hi there,

> I have application1.org and application2.org.
> 
> The client requesting these URLs, arrives one the reverse proxy.
> 
> On this reverse proxy I have a virtual host which looks like that
> 
> server {
> server_name application1.org;
> location ^~ / {
> proxy_pass        http://10.1.1.10:80/app/application1/;
> }
> 
> And another virtual host for application2 which is similar with
> 
> proxy_pass http://10.1.1.10:80/app/application2/;
> 
> 
> The server behind the reverse proxy is the same right now

> 1) Is it the right way to do this ?

I think that trying to reverse-proxy an application at a different part
of the url tree to where the app thinks it is installed, is difficult.

So if application1 believes that it is installed at /app/application1,
I would suggest to expose that to the world. (Or: if you want the world
to see it at /, then configure the internal server so that it is at /
there too.)

Then your external config is mostly just "proxy_pass
http://10.1.1.10:80;", possibly with "location = / { return 301
/application/app1/; }"

The *internal* config could probably have one server{} for each
application as well.

> 2) When I access the application from Internet using application1.org, I am redirected to application1.org/app/application1 I don't know why. And I have to add one more section on the reverse proxy

> Is there a better way to do it ?

I'm not sure why that extra section is necessary, unless the "..." part
of your config is important.

	f
-- 
Francis Daly        francis at daoine.org


More information about the nginx mailing list