首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

nginx反向代理配置去除前缀

使用nginx做反向代理的时候,可以简单的直接把请求原封不动的转发给下一个服务。设置proxy_pass请求只会替换域名,如果要根据不同的url后缀来访问不同的服务,则需要通过如下方法:

方法一:加"/"server {

 listen              8000;

 server_name         abc.com;

 access_log  "pipe:rollback /data/log/nginx/access.log interval=1d baknum=7 maxsize=1G"  main;

 location ^~/user/ {

     proxy_set_header Host $host;

     proxy_set_header  X-Real-IP        $remote_addr;

     proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;

     proxy_set_header X-NginX-Proxy true;

     proxy_pass http://user/;

 }

 location ^~/order/ {

     proxy_set_header Host $host;

     proxy_set_header  X-Real-IP        $remote_addr;

     proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;

     proxy_set_header X-NginX-Proxy true;

     proxy_pass http://order/;

 }

}1234567891011121314151617181920212223

^~/user/表示匹配前缀是user的请求,proxy_pass的结尾有/, 则会把/user/*后面的路径直接拼接到后面,即移除user。

方法二:rewriteupstream user {

server localhost:8089 weight=5;

}

upstream order {

server localhost:8090 weight=5;

}

server {

 listen              80;

 server_name  abc.com;

 access_log  "pipe:rollback /data/log/nginx/access.log interval=1d baknum=7 maxsize=1G"  main;

 location ^~/user/ {

     proxy_set_header Host $host;

     proxy_set_header  X-Real-IP        $remote_addr;

     proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;

     proxy_set_header X-NginX-Proxy true;

     rewrite ^/user/(.*)$ /$1 break;

     proxy_pass http://user;

 }

 location ^~/order/ {

     proxy_set_header Host $host;

     proxy_set_header  X-Real-IP        $remote_addr;

     proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;

     proxy_set_header X-NginX-Proxy true;

     rewrite ^/order/(.*)$ /$1 break;

     proxy_pass http://order;

 }

}1234567891011121314151617181920212223242526272829303132

proxy_pass结尾没有/, rewrite重写了url。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201231A0224X00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券