nginx配置反向代理详解

主要是区分带斜杠与不带斜杠的情况

第一种情况

代理为【域名+端口】的方式。

访问地址为http://nginx-server:80/app/v1

// location中有 /
server {
   listen 443 ssl;
   location /app/ {
     proxy_pass http://server1:8191;
    }
}

反向代理路径:http://server1:8191/app/v1

// location中无 /
server {
   listen 443 ssl;
   location /app {
     proxy_pass http://server1:8191;
    }
}

反向代理路径:http://server1:8191/app/v1

理解:域名+端口的方式只要location匹配上了,就把原地址的【ip+端口】使用代理的【ip+端口】替换即可。

第二种情况

代理为【域名+端口+/】的方式

访问路径 http://nginx-server:80/app/v1

server {
   listen 443 ssl;
   location /app/ {
     proxy_pass http://server1:8191/;
    }
}

反向代理路径:http://server1:8191/v1

理解:原访问地址中直接把location后面匹配到的字符【/app/】拿掉,剩下的拼接到代理路径即可,也就是把【v1】拼接过来得到http://server1:8191/v1

server {
   listen 443 ssl;
   location /app {
     proxy_pass http://server1:8191/;
    }
}

反向代理路径:http://server1:8191//v1

理解:原访问地址中直接把location后面匹配到的字符【/app】拿掉,剩下的拼接到代理路径即可,也就是把【/v1】拼接过来得到http://server1:8191//v1

第三种情况

代理为【域名+端口+路径】的方式

访问路径 http://nginx-server:80/app/v1

server {
   listen 443 ssl;
   location /app/ {
     proxy_pass http://server1:8191/app/v2;
    }
}

反向代理路径:http://server1:8191/app/v2v1

理解:原访问地址中直接把location后面匹配到的字符【/app/】拿掉,剩下的拼接到代理路径即可,也就是【v1】拼接过来得到http://server1:8191/app/v2v1

server {
   listen 443 ssl;
   location /app {
     proxy_pass http://server1:8191/app/v2;
    }
}

反向代理路径:http://server1:8191/app/v2/v1

理解:原访问地址中直接把location后面匹配到的字符【/app】拿掉,剩下的拼接到代理路径即可,也就是【/v1】拼接过来得到http://server1:8191/app/v2/v1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值