route different proxy based on subdomain request in nginx route different proxy based on subdomain request in nginx nginx nginx

route different proxy based on subdomain request in nginx


create a virtual host for each

server {  server_name sub1.example.com;  location / {    proxy_pass http://127.0.0.1:xxxx;  }}server {  server_name sub2.example.com;  location / {    proxy_pass http://127.0.0.1:xxxx;  }}

And go on, change the port number to match the right port.


You can use RegExp to fetch host name like this

server {    server_name   ~^(www\.)?(?<domain>.+)$;    location / {        root   /sites/$domain;    }}


You can create virtual host for every sub domain.

For Ex you have 2 sub domain abc.xyz.com and abcd.xyz.com , and you want to host it on nginx single instance by proxy_pass then you can simply create virtual host for every sub domain

server {  server_name abc.xyz.com;  location / {    proxy_pass http://127.0.0.1:8000;  }}server {  server_name abcd.xyz.com;  location / {    proxy_pass http://127.0.0.1:8000;  }}

For more information you can refer here