2015-01-06 234 views
1

我想用NGIX作为反向代理,以显示不同的URL,指向同一台服务器上,但在不同的子文件夹... Web服务器比上NGIX运行的不同。NGINX多个proxy_pass配置

这里是我的web目录树,在同一个局域网上的服务器(192.168.1.10比方说,80端口...)

/WWW
      | - site1的
            | - CSS
            | - JS
      | - 站点2
      | - site3

我想设置NGIX所以当我在我的浏览器中键入www.site1.com,它显示192.168.1.10/www/site1

那可能吗 ?

这里我做了什么,但它没有工作:

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

    location/{ 
      proxy_pass   http://192.168.1.10; 
    } 

}

回答

0

如果我理解正确的话,你需要在Web服务器的变化(假设服务器一个)。不在运行Nginx的服务器(服务器B)中。

你提到

“根”指令引用的服务器B. Nginx的会简单地传递来www.site1.com到服务器A.所有的请求有你有配置服务器基于主机名来提供内容。

如果服务器A也在运行Nginx,您可以在服务器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; 
} 
2
nginx的服务器(A)你可以在下方添加上相同配置的配置(V-主机)文件,也可以为每个 服务器上创建不同的配置文件下/etc/nginx/conf.d标签上

/

我考虑Web服务器的IP是192.168.1.10和运行端口为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; 
        } 
     }