Reverse proxy for multiple domains

Mik J mikydevel at yahoo.fr
Thu Aug 10 21:17:14 UTC 2017


Nginx: 1.10.2


Hello,

I'm tryging to get reverse proxy working with multiple domains


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 {

listen 80;

server_name application1.org;

access_log /var/log/nginx/application1.org.access.log;

error_log /var/log/nginx/application1.org.error.log;

...


location ^~ / {

proxy_pass        http://10.1.1.10:80/app/application1/;

proxy_redirect    off;

proxy_set_header  Host             $http_host;

proxy_set_header  X-Real-IP        $remote_addr;

proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;

proxy_set_header  X-Forwarded-Proto $scheme;

}

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



On the web server behind the proxy I just have one virtual host which is the default one

server {

listen 80 default_server;

server_name _;

index index.html index.htm index.php;

root /var/www/htdocs;


location ^~ /app/application1 {

root /var/www;

index index.php;

location ~ \.php$ {

root           /var/www;

try_files $uri =404;

fastcgi_pass   unix:/run/php-fpm.application1.sock;

fastcgi_split_path_info ^(.+\.php)(/.+)$;

fastcgi_index  index.php;

fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;

include        fastcgi_params;

}

location ^~ /app/application2 {
root /var/www;
index index.php;
location ~ \.php$ {
root          /var/www;
try_files $uri =404;
fastcgi_pass  unix:/run/php-fpm.application2.sock;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
include        fastcgi_params;
}

}

Questions:

1) Is it the right way to do this ?

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
location ^~ /app/application1 {
proxy_pass        http://10.1.1.10:80/app/application1/;
proxy_redirect    off;
proxy_set_header  Host            $http_host;
proxy_set_header  X-Real-IP        $remote_addr;
proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
proxy_set_header  X-Forwarded-Proto $scheme;
}
Is there a better way to do it ?

Thank you


More information about the nginx mailing list