1

I would like to use NGIX as a reverse proxy to display different URLs, pointing on the same server, but on different subfolders... The web server is different than the one on which NGIX is running.

here is my web tree, server on the same LAN (192.168.1.10 let's say, port 80...)

/www
    |- site1
      |- css
      |- js
   |- site2
   |- site3

I want to setup NGIX so when I type www.site1.com on my browser, it shows 192.168.1.10/www/site1

Is that possible ?

here is what I've done, but it didn't work :

server {
    listen 80;
    server_name www.site1.com;
    root /www/site1;

    location / {
            proxy_pass         http://192.168.1.10;
    }

}

2 Answers 2

1

on the nginx server (A) you can add below configuration on same configuration(V-host) file or you can create different configuration files for each server tags under /etc/nginx/conf.d/

I have consider webserver ip is 192.168.1.10 and running port is 80

server {
       listen 80;
       server_name www.site1.com;

       location / {
           proxy_pass http://192.168.1.10;
           root /www/site1;
       }


       }

server {
       listen 80;
       server_name www.site2.com;


        location / {
                   proxy_pass http://192.168.1.10;
                   root /www/site2;
                   }
        }

server {
        listen 80;
        server_name www.site3.com;

        location / {
                 proxy_pass http://192.168.1.10;
                 root /www/site3;
                   }
        }
Sign up to request clarification or add additional context in comments.

Comments

0

If I understood correctly, you need to make the change in the web server (let's say server A). Not in the server where Nginx is running (server B).

'root' directive you have mentioned refers to server B. Nginx will simply pass all requests coming to www.site1.com to server A. There you have to configure the server to deliver content based on host name.

If server A is also running Nginx, you can have a configuration like below in server A.

server {
    listen 80;
    server_name www.site1.com;
    root /www/site1;
}

server {
    listen 80;
    server_name www.site2.com;
    root /www/site2;
}

server {
    listen 80;
    server_name www.site3.com;
    root /www/site3;
}

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.