nginx虚拟路径中proxy_pass对后端请求的影响 我不是女神ヾ 2022-03-29 11:58 243阅读 0赞 假设nginx中的配置是这样的: <table> <tbody> <tr> <td style="vertical-align:middle;"> <p>server { </p> <p> listen 80;</p> <p> server_name x.x.x.x;</p> <p> . . . . . .</p> <p> location <span style="color:#f33b45;"><strong>/subdir</strong></span></p> <p> { </p> <p> proxy_pass http://y.y.y.y;</p> <p> }</p> <p>}</p> </td> </tr> </tbody> </table> 那么,当用户请求http://x.x.x.x**/subdir**/other时,匹配到该区块,nginx反向代理到后端时会保留虚拟路径。nginx实际向后端发起的请求URL为http://y.y.y.y**/subdir**/other。 假设nginx中的配置是这样的: <table> <tbody> <tr> <td style="vertical-align:middle;"> <p>server { </p> <p> listen 80;</p> <p> server_name x.x.x.x;</p> <p> . . . . . .</p> <p> location <span style="color:#f33b45;"><strong>/subdir</strong></span></p> <p> { </p> <p> proxy_pass http://y.y.y.y<span style="color:#f33b45;"><strong>/</strong></span>;</p> <p> }</p> <p>}</p> </td> </tr> </tbody> </table> 那么,当用户请求http://x.x.x.x/subdir/other时,匹配到该区块,由于proxy\_pass中有指定后端URI路径,nginx代理请求到后端时不会保留虚拟路径。nginx实际向后端发起的请求URL为http://y.y.y.y**/**/other。 **在nginx中配置proxy\_pass时,当在后面的url加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走;如果没有/,则会把匹配的路径部分也给代理走。** 假设nginx中的配置是这样的: <table> <tbody> <tr> <td style="vertical-align:middle;"> <p>server { </p> <p> listen 80;</p> <p> server_name x.x.x.x;</p> <p> . . . . . .</p> <p> location /subdir</p> <p> { </p> <p> proxy_pass http://y.y.y.y<span style="color:#f33b45;"><strong>/upstream_subdir</strong></span>;</p> <p> }</p> <p>}</p> </td> </tr> </tbody> </table> 那么,当用户请求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方式时,效果也是一样的。比如: <table> <tbody> <tr> <td style="vertical-align:middle;"> <p>upstream backend { </p> <p> server y.y.y.y:80;</p> <p>}</p> <p>server { </p> <p> listen 80;</p> <p> server_name x.x.x.x;</p> <p> . . . . . .</p> <p> location /subdir</p> <p> { </p> <p> proxy_pass http://backend<span style="color:#f33b45;"><strong>/upstream_subdir</strong></span>;</p> <p> }</p> <p>}</p> </td> </tr> </tbody> </table> 当用户请求http://x.x.x.x/subdir/other时,nginx实际向后端发起的请求URL仍然为http://y.y.y.y**/upstream\_subdir**/other。
相关 Java虚拟机JVM对性能影响的常见问题 Java虚拟机(JVM)是运行Java代码的关键部分,它对程序的性能有着显著的影响。以下是一些常见的问题和影响: 1. 内存消耗:Java应用程序在运行过程中需要分配内存。如 悠悠/ 2024年09月11日 20:48/ 0 赞/ 53 阅读
相关 后端发送HTTP请求 后端发送HTTP请求 1 原始方式 > 背景: > get:获取微信的accessToken > post:设置微信公众号的自定义菜单 1.1 get方 你的名字/ 2024年04月03日 13:19/ 0 赞/ 93 阅读
相关 Nginx反向代理,转发请求至后端服务器 > 传送门:[Nginx部署静态web工程][Nginx_web] 背景: 使用nginx作为反向代理服务器,将80请求转发至后端tomcat服务器 步骤: 1) 修 素颜马尾好姑娘i/ 2023年10月09日 12:03/ 0 赞/ 42 阅读
相关 后端请求参数校验 后端请求参数校验 校验异常处理 valid注解解释 参考文章 校验异常处理 valid注解解释 空检查 @Null 验证对象是否为nul 深藏阁楼爱情的钟/ 2022年11月04日 14:24/ 0 赞/ 188 阅读
相关 vue 中axios 循环请求会造成什么影响,对请求的结果 for (let i = 0; i < this.tableData.length; i++) { //使用闭包 防止变量污染 (function (i) 淩亂°似流年/ 2022年05月27日 06:57/ 0 赞/ 147 阅读
相关 虚拟继承对类大小的影响 我在写这篇博客之前,我已经对普通类的对象模型有了一定的了解,普通的类包含虚函数以及多重继承情况下类大小我还是比较明白的,直到当时在做网易的一道实习生招聘的选择题时,又让我对类大 待我称王封你为后i/ 2022年05月27日 02:22/ 0 赞/ 156 阅读
相关 Nginx1.1.4+ 对后端机器的长连接特性 原文:http://zhangxugg-163-com.iteye.com/blog/1551269 nginx upstream keepalive conne 柔光的暖阳◎/ 2022年04月11日 13:09/ 0 赞/ 160 阅读
相关 nginx虚拟路径中proxy_pass对后端请求的影响 假设nginx中的配置是这样的: <table> <tbody> <tr> <td style="vertical-align:middle;"> <p>s 我不是女神ヾ/ 2022年03月29日 11:58/ 0 赞/ 244 阅读
相关 nginx之proxy_pass代理后端https请求 本文转载自 [https://my.oschina.net/foreverich/blog/1517128][https_my.oschina.net_foreverich_b た 入场券/ 2022年01月12日 22:29/ 0 赞/ 1458 阅读
还没有评论,来说两句吧...