您的位置:首页 > 娱乐 > 明星 > Nginx 配置文件中 location、proxy_pass最后的斜杠/作用

Nginx 配置文件中 location、proxy_pass最后的斜杠/作用

2024/12/23 21:01:32 来源:https://blog.csdn.net/lanren312/article/details/141169668  浏览:    关键词:Nginx 配置文件中 location、proxy_pass最后的斜杠/作用

1.搭建一个简单的sprigboot+thymeleaf项目

写个controller

@RequestMapping("/login")
public String toLogin() {return "login";
}

写一个login.html页面

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head><meta charset="utf-8" name="viewport"content="width=device-width, initial-scale=1, maximum-scale=1"></meta><title>bootdemo</title>
</head><body ><h1>HELLO LANREN312....</h1>
</body><script th:inline="javascript"></script></html>

2.把项目打包丢到虚拟机上

项目访问地址:
http://192.168.1.118:9235/login
http://192.168.1.118:9235/login3

3.nginx配置全地址

location /lanren312/ {					proxy_pass http://192.168.1.118:9235/login/;				
}					location /lanren313/ {					proxy_pass http://192.168.1.118:9235/login3/;				
}	

项目访问地址: 
http://192.168.1.118/lanren312
http://192.168.1.118/lanren313

4.nginx配置ip:端口

location /lanren/ {					proxy_pass http://192.168.1.118:9235/;				
}

项目访问地址: 
http://192.168.1.118/lanren/login    转发地址:http://192.168.1.118:9235/login
http://192.168.1.118/lanren/login3  转发地址:http://192.168.1.118:9235/login3

如果proxy_pass末尾有斜杠/,把path中location匹配成功的部分剪切掉之后再拼接到proxy_pass目标地址

location目录最后有斜杠/只能完全匹配目录,没有斜杠/不仅可以匹配目录还对目录进行模糊匹配。

5.nginx的proxy_pass去掉后面的斜杠/

location /lanren/ {					proxy_pass http://192.168.1.118:9235;	
}

请求地址:http://192.168.1.118/lanren/login  转发地址:http://192.168.1.118:9235/lanren/login。

如果proxy_pass末尾无斜杠/,把path拼接到proxy_pass目标地址

location目录最后有斜杠/只能完全匹配目录,没有斜杠/不仅可以匹配目录还对目录进行模糊匹配。

可以看到,没找到对应的页面。为了验证转发地址,在controller中单独再写一个(/lanren/login)请求。再去请求 http://192.168.1.118/lanren/login,验证成功。

请求 http://192.168.1.118/lanren/login3 ,页面还是报错,因为没有单独写(/lanren/login3)。

如果proxy_pass末尾有斜杠/,把path中location匹配成功的部分剪切掉之后再拼接到proxy_pass目标地址
如果proxy_pass末尾无斜杠/,把path拼接到proxy_pass目标地址


location目录最后有斜杠/只能完全匹配目录,没有斜杠/不仅可以匹配目录还对目录进行模糊匹配。

6、总结

参考博客:Nginx 配置文件中字符 “/“ 的巨大作用-CSDN博客

# http://192.168.1.118/lanren01/login  转发地址:http://192.168.1.118:9235/lanren01/login	
location /lanren01/ {					proxy_pass http://192.168.1.118:9235;		 	
}
# http://192.168.1.118/lanren02/login  转发地址:http://192.168.1.118:9235/login	
location /lanren02/ {					proxy_pass http://192.168.1.118:9235/;			
}
# http://192.168.1.118/lanren03/login  转发地址:http://192.168.1.118:9235/lanren03/login	  
# http://192.168.1.118/lanren0366/login  转发地址:http://192.168.1.118:9235/lanren0366/login	  
location /lanren03 {					proxy_pass http://192.168.1.118:9235;		 		
}
# http://192.168.1.118/lanren04/login  转发地址:http://192.168.1.118:9235//login	  --这里和02是一样的,只是多了一个斜杠/
# http://192.168.1.118/lanren0466/login  转发地址:http://192.168.1.118:9235/66/login
location /lanren04 {					proxy_pass http://192.168.1.118:9235/;		 		
}# http://192.168.1.118/lanren05/login 转发地址:http://192.168.1.118:9235/kkklogin, -- 这里的kkk和login 之间没有斜杠
location /lanren05/ {					proxy_pass http://192.168.1.118:9235/kkk;		 		
}
# http://192.168.1.118/lanren06/login 转发地址:http://192.168.1.118:9235/kkk/login,
location /lanren06/ {					proxy_pass http://192.168.1.118:9235/kkk/;		 		
}
# http://192.168.1.118/lanren07/login 转发地址:http://192.168.1.118:9235/kkk/login,
location /lanren07 {					proxy_pass http://192.168.1.118:9235/kkk;		 		
}
# http://192.168.1.118/lanren08/login 转发地址:http://192.168.1.118:9235/kkk//login, -- 这里的双斜杠
location /lanren08 {					proxy_pass http://192.168.1.118:9235/kkk/;	
}

 附上一部分测试截图

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com