nginx虚拟路径中proxy_pass对后端请求的影响-创新互联

假设nginx中的配置是这样的:

成都创新互联公司网站建设公司是一家服务多年做网站建设策划设计制作的公司,为广大用户提供了成都做网站、成都网站建设,成都网站设计,1元广告,成都做网站选成都创新互联公司,贴合企业需求,高性价比,满足客户不同层次的需求一站式服务欢迎致电。

server {

   listen 80;

   server_name x.x.x.x;

   . . . . . .

   location /subdir

  {

     proxy_pass http://y.y.y.y;

   }

}

那么,当用户请求http://x.x.x.x/subdir/other时,匹配到该区块,nginx反向代理到后端时会保留虚拟路径。nginx实际向后端发起的请求URL为http://y.y.y.y/subdir/other。

假设nginx中的配置是这样的:

server {

   listen 80;

   server_name x.x.x.x;

   . . . . . .

  location /subdir

  {

     proxy_pass http://y.y.y.y/;

   }

}

那么,当用户请求http://x.x.x.x/subdir/other时,匹配到该区块,由于proxy_pass中有指定后端URI路径,nginx代理请求到后端时不会保留虚拟路径。nginx实际向后端发起的请求URL为http://y.y.y.y//other。

假设nginx中的配置是这样的:

server {

   listen 80;

   server_name x.x.x.x;

   . . . . . .

  location /subdir

  {

     proxy_pass http://y.y.y.y/upstream_subdir;

   }

}

那么,当用户请求http://x.x.x.x/subdir/other时,匹配到该区块,由于proxy_pass中有指定后端URI路径,nginx代理请求到后端时不会保留虚拟路径。nginx实际向后端发起的请求URL为http://y.y.y.y/upstream_subdir/other。

综合上述三个示例可以发现,问题的关键就在于proxy_pass指令中是否有指定后端服务器的URI,这决定了nginx代理请求到后端时是否会保留location中的虚拟路径。

当将后端服务器写成upstream方式时,效果也是一样的。比如:

upstream backend {

   server y.y.y.y:80;

}

server {

   listen 80;

   server_name x.x.x.x;

   . . . . . .

  location /subdir

   {

     proxy_pass http://backend/upstream_subdir;

   }

}

当用户请求http://x.x.x.x/subdir/other时,nginx实际向后端发起的请求URL仍然为http://y.y.y.y/upstream_subdir/other。

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页标题:nginx虚拟路径中proxy_pass对后端请求的影响-创新互联
URL地址:http://hxwzsj.com/article/idhop.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 营销型网站建设 成都网站设计 重庆企业网站建设 手机网站制作 网站建设开发 重庆电商网站建设 成都网站制作 网站制作 重庆网站建设 企业网站建设公司 成都企业网站建设公司 成都商城网站建设 成都网站设计 重庆网站制作 成都网站制作公司 企业网站建设 定制网站制作 成都网站建设 成都网站制作 外贸营销网站建设 重庆网站建设 四川成都网站设计