[英]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.