Nginx代理中使用斜杠的区别小结
代理地址是:http://127.0.0.1:8000
总结:代理地址加斜杠替换,代理地址不加斜杠拼接
1、代理地址不加斜杠
# 请求路径为:http://127.0.0.1:8080/api/getInfo # 实际代理为:http://127.0.0.1:8000/api/getInfo location ^~/api/ { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; }
# 请求路径为:http://127.0.0.1:8080/api/getInfo # 实际指向为:http://127.0.0.1:8000/api/getInfo location ^~/api { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; }
location定位的路径设置,是否带斜杠,没有关系。
2、代理地址 + 斜杠
# 请求路径为:http://127.0.0.1:8080/api/getInfo # 实际代理为:http://127.0.0.1:8000/getInfo location ^~/api/ { proxy_pass http://127.0.0.1:8000/; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; }
# 请求路径为:http://127.0.0.1:8080/api/getInfo # 实际代理为:http://127.0.0.1:8000//getInfo location ^~/api { proxy_pass http://127.0.0.1:8000/; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; }
如果代理地址加了斜杠,不管location是否加斜杠,api路径都省略了。
3、代理地址 + 后缀
# 请求路径为:http://127.0.0.1:8080/api/getInfo # 实际代理为:http://127.0.0.1:8000/wxgetInfo location ^~/api/ { proxy_pass http://127.0.0.1:8000/wx; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; }
# 请求路径为:http://127.0.0.1:8080/api/getInfo # 实际代理为:http://127.0.0.1:8000/wx/getInfo location ^~/api { proxy_pass http://127.0.0.1:8000/wx; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; }
如果location带斜杠,会省略url中的斜杠。
4、代理地址 + 后缀 + 斜杠
# 请求路径为:http://127.0.0.1:8080/api/getInfo # 实际代理为:http://127.0.0.1:8000/wx/getInfo location ^~/api/ { proxy_pass http://127.0.0.1:8000/wx/; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; }
# 请求路径为:http://127.0.0.1:8080/api/getInfo # 实际代理为:http://127.0.0.1:8000/wx//getInfo location ^~/api { proxy_pass http://127.0.0.1:8000/wx/; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; }
其他
精确匹配:server_name www.test.com ;
左侧通配:server_name *.test.com ;
右侧统配:server_name www.test.* ;
正则匹配:server_name ~^www\.test\.*$ ;
匹配优先级:精确匹配 > 左侧通配符匹配 > 右侧通配符匹配 > 正则表达式匹配
#直接返回状态码 location / { return 404; } #返回状态码 + 一段文本 location / { return 404 "pages not found"; } #返回状态码 + 重定向地址 location / { return 302 /blog ; } #返回重定向地址 location / { return https://www.test.com ; }
# http强制跳转到https server { listen 80; server_name test.com; rewrite ^(.*)$ https://$server_name$1 permanent; }
到此这篇关于Nginx代理中使用斜杠的区别小结的文章就介绍到这了,更多相关Nginx代理斜杠内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
keepalived+lvs 对nginx做负载均衡和高可用的操作方法
这篇文章主要介绍了keepalived+lvs 对nginx做负载均衡和高可用的操作方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧2023-12-12nginx+tomcat实现负载均衡,使用redis session共享
这篇文章主要介绍了nginx tomcat负载均衡 使用redis session共享,有兴趣的同学可以了解一下。2016-12-12Nginx+keepalived实现七层的负载均衡的高可用(最新解决方案)
这篇文章主要介绍了Nginx+keepalived实现七层的负载均衡的高可用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧2024-03-03
最新评论