nginx反向代理proxy_pass配置URI引起的思考

   反向代理proxy_pass的语法结构为proxy_pass URL,其中,URL为要设置的被代理服务器的地址,包含传输协议、主机名称或IP地址加端口号、URI等要素。

   例如:proxy_pass http://www.myweb.com/uri;

  1. 如果被代理服务器是一组服务器的话,可以使用upstream指令配置后端服务器组。

   upstream proxy_svrs

   {

     server http://192.168.0.1/uri;

     server http://192.168.0.2/uri;

   }

   server块:

    server

   {

     listen 80;

     server_name localhost;

     location /

       {   

            proxy_pass  proxy_svrs;

       }

  }       

   注意:如果组内的各个服务器都指明了传输协议 http:// ,那么在proxy_pass 指令中就不用指明了。反之也是如此。

2.另外,还要注意proxy_pass URL ,URL中是否含有URI,如果不包含,nginx服务器不会改变原地址的URI;如果包含了URI,则nginx服务器会使用新的URI替换原来的URI

  例如:


    如果客户端请求http://10.66.30.223/api/exam,请求被该location块处理,由于proxy_pass指令的URL中不含URI,所以转向地址http://10.66.30.233:8080/api/exam。

再来看下面的配置:


   在此示例中,由于proxy_pass URL中包含了URI "/loc",如果客户端发出http://www.myweb.com/server,nginx服务器会把地址转向 http://192.168.1.1/loc 。

    总结:在使用proxy_pass指令时,如果不想改变原地址中的URI,就不要在URL变量中配置URI



  • 11
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值