THS-Location斜杠区别详解

1 、location和proxy_pass都带/,则真实地址不带location匹配目录

location /api/ {

proxy_pass http://127.0.0.1:8080/;

}

访问地址:www.test.com/api/upload-->http://127.0.0.1:8080/upload

2 、location不带/,proxy_pass带/,则真实地址会带/

location /api {

proxy_pass http://127.0.0.1:8080/;

}

访问地址:www.test.com/api/upload-->http://127.0.0.1:8080//upload

3 、location带/,proxy_pass不带/,则真实地址会带location匹配目录/api/

location /api/ {

proxy_pass http://127.0.0.1:8080;

}

访问地址:www.test.com/api/upload-->http://127.0.0.1:8080/api/upload

4 、location和proxy_pass都不带/,则真实地址会带location匹配目录/api/

location /api {

proxy_pass http://127.0.0.1:8080;

}

访问地址:www.test.com/api/upload-->http://127.0.0.1:8080/api/upload

5 、同1,但proxy_pass带地址

location /api/ {

proxy_pass http://127.0.0.1:8080/server/;

}

访问地址:www.test.com/api/upload-->http://127.0.0.1:8080/server/upload

6 、同2,但proxy_pass带地址,则真实地址会多个/

location /api {

proxy_pass http://127.0.0.1:8080/server/;

}

访问地址:www.test.com/api/upload-->http://127.0.0.1:8080/server//upload

7 、同3,但 proxy_pass带地址,则真实地址会直接连起来

location /api/ {

proxy_pass http://127.0.0.1:8080/server;

}

访问地址:www.test.com/api/upload-->http://127.0.0.1:8080/serverupload

8 、同4,但proxy_pass带地址,则真实地址匹配地址会替换location匹配目录

location /api {

proxy_pass http://127.0.0.1:8080/server;

}

访问地址:www.test.com/api/upload-->http://127.0.0.1:8080/server/upload

总结:

1、proxy_pass代理地址端口后有目录(包括 / ),转发后地址:代理地址+访问URL目录部分去除location匹配目录。

2、proxy_pass代理地址端口后无任何,转发后地址:代理地址+访问URL目录部分。

3、有时更改location和proxy_pass后浏览器查看不生效,有可能是启用缓存的原因,此时需要禁用缓存:add_header Cache-Control no-cache;

相关推荐
roman_日积跬步-终至千里几秒前
【Nginx】Nginx 多协议负载均衡实战:StarRocks 与 MinIO 代理配置全解析
运维·nginx·负载均衡
lwhdjbcjdjd1 分钟前
Nginx实战指南:反向代理与负载均衡的原理与配置
运维·nginx·负载均衡
wa的一声哭了2 分钟前
Linux服务器配置ssh免密登陆多台服务器、服务器别名配置
linux·运维·服务器·网络·arm开发·python·ssh
qinyia10 分钟前
Wisdom SSH:AI助手可用的运维工具详解,帮助理解提升人机合作效率
运维·服务器·人工智能·ssh
YongCheng_Liang31 分钟前
openEuler 22.03 LTS 部署 ELK(Elasticsearch+Logstash+Kibana)完整教程
linux·运维·elk·elasticsearch
小坏讲微服务1 小时前
Spring Cloud Alibaba 2025.0.0 整合 ELK 实现日志
运维·后端·elk·spring cloud·jenkins
清浅儿1 小时前
Linux权限知识点
linux·运维·服务器
kyle~1 小时前
Linux---文件控制<fcntl.h> (file control, fcntl)
linux·运维·服务器
头发还没掉光光1 小时前
Linux多线程之自旋锁与读写锁
linux·运维·算法
百***48931 小时前
Nginx实现接口复制
运维·nginx·junit