Reputation: 25
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;
}
}
Upvotes: 1
Views: 12680
Reputation: 619
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;
}
}
Upvotes: 1
Reputation: 91
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;
}
Upvotes: 0