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
标签:http,配置,list,Nginx,api,2020,location,localhost From: https://www.cnblogs.com/fieldtianye/p/18206028