繁体   English   中英

NGINX多个proxy_pass配置

[英]NGINX multiple proxy_pass configuration

我想将NGIX用作反向代理,以显示指向同一服务器上但位于不同子文件夹上的不同URL。Web服务器不同于运行NGIX的Web服务器。

这是我的Web树,位于同一LAN上的服务器(假设是192.168.1.10,端口80 ...)

/万维网
|-site1
|-CSS
|-js
|-site2
|-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;
    }

}

在Nginx服务器(A)上,您可以在同一配置(V主机)文件上添加以下配置,也可以在/etc/nginx/conf.d/下为每个服务器标签创建不同的配置文件。

我认为网络服务器的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;
                   }
        }

如果我理解正确,则需要在Web服务器(例如服务器A)中进行更改。 不在运行Nginx的服务器(服务器B)中。

您提到的'root'指令是指服务器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;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM