Nginx location配置
Nginx location配置
参考:
Nginx配置文件中location介绍
https://blog.csdn.net/m0_74412260/article/details/131030731
Nginx location配置
https://zhuanlan.zhihu.com/p/377954223
Nginx之location详解
路径匹配
- = 开头表示精确匹配。如 A 中只匹配根目录结尾的请求,后面不能带任何字符串;
- ^~ 开头表示uri以某个常规字符串开头,不是正则匹配;
- ~ 开头表示区分大小写的正则匹配;
- ~* 开头表示不区分大小写的正则匹配;
- / 通用匹配, 如果没有其它匹配,任何请求都会匹配到。
注意:优先级
精确= > 前缀^~ > 正则~,~* > 一般 > 通用/
( location = ) > ( location 完整路径 ) > ( location ^~ 路径 ) > ( location ~,~* 正则顺序 ) > ( location 部分起始路径 ) > ( / )
代理转发 proxy_pass
该参数用作反向代理,可以用来做负载均衡、前端解决跨域等功能。
关于proxy_pass实现负载均衡,可以在nginx负载均衡中看到相关内容。
注意:proxy_pass转发请求,配置的url最后是否有 "/",会是不同的转发规则。
server { listen 2020; location /api/ { proxy_pass http://localhost:7001; } }
请求代理:localhost:2020/api/component/list --> http://locahost:7001/api/component/list
应用场景:前端请求存在跨域,后端接口格式是api/业务路由,前端请求的接口也是api/业务路由。
server { listen 2020; location /api/ { proxy_pass http://localhost:7001/; } }
请求代理:localhost:2020/api/component/list --> http://locahost:7001/component/list
应用场景:后端接口格式是业务路由,前端请求的接口是api/业务路由,前端请求的接口前面加一个"api"是为了标识某个后端服务,后端接口中并没用这个标识。
server { listen 2020; location /api/ { proxy_pass http://localhost:7001/online; } }
请求代理:localhost:2020/api/component/list --> http://locahost:7001/onlinecomponent/list 应用场景:没遇到这样的场景,一般都会用都会用"/"隔开路径。
server { listen 2020; location /api/ { proxy_pass http://localhost:7001/online/; } }
请求代理:localhost:2020/api/component/list --> http://locahost:7001/online/component/list
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!