ITPub博客

首页 > 应用开发 > Java > nginx反向代理配置去除前缀

nginx反向代理配置去除前缀

原创 Java 作者:ckxllf 时间:2019-09-06 16:52:04 0 删除 编辑

  使用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/;

  }

  }

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

  方法二:rewrite

  upstream user {

  server localhost:8089 weight=5;

  } 无锡人流医院哪家好 http://www.wxbhnkyy120.com/

  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;

  }

  }

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


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69945560/viewspace-2656282/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 深拷贝和浅拷贝
请登录后发表评论 登录
全部评论

注册时间:2019-08-16

  • 博文量
    204
  • 访问量
    262647