nginx代理斜杠的效果
2023-12-13 18:51:05
代理地址是: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;
}
文章来源:https://blog.csdn.net/weixin_43055250/article/details/134978410
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!