vue中的uri_nginx location中uri 的截取

说明:

location 中的 root 和 alias

root 指令只是将搜索的根设置为 root 设定的目录,即不会截断 uri,而是使用原始 uri 跳转该目录下查找文件

aias 指令则会截断匹配的 uri,然后使用 alias 设定的路径加上剩余的 uri 作为子路径进行查找

location 中的 proxy_pass 的 uri

如果 proxy_pass 的 url 不带 uri

如果尾部是”/”,则会截断匹配的uri

如果尾部不是”/”,则不会截断匹配的uri

如果proxy_pass的url带uri,则会截断匹配的uri

Examples

location中的root

root@pts/1 $ ls -ld /data/web/lctest*|awk '{print $NF}'

/data/web/lctest

/data/web/lctest2

/data/web/lctest3

/data/web/lctest4

location /lctest {

root /data/web/;

}

location /lctest2/ {

root /data/web/;

}

location /lctest3 {

root /data/web;

}

location /lctest4/ {

root /data/web;

}

curl 测试结果如下

备注: 浏览器输入的时候最后面不添加/, 会自动补上,但是curl 不行

root@pts/1 $ curl http://tapi.xxxx.com/lctest/

hello world

root@pts/1 $ curl http://tapi.xxxx.com/lctest2/

hello world

2

root@pts/1 $ curl http://tapi.xxxx.com/lctest3/

3

hello world

root@pts/1 $ curl http://tapi.xxxx.com/lctest4/

hello world

4

location alias

location /lctest5 {

alias /data/web/;

}

location /lctest6/ {

alias /data/web/;

}

location /lctest7 {

alias /data/web;

}

## 403 /data/web forbidden

location /lctest8/ {

alias /data/web;

}

curl 测试结果如下

curl 'http://tapi.kaishustory.com/lctest5/'

curl 'http://tapi.kaishustory.com/lctest6/'

curl 'http://tapi.kaishustory.com/lctest7/'

结果都是 /data/web/index.html的输出

root@pts/1 $ curl 'http://tapi.kaishustory.com/lctest8/'

403 Forbidden

403 Forbidden


nginx

location proxy_pass

#--------proxy_pass配置---------------------

location /t1/ { proxy_pass http://servers; } #正常,不截断

location /t2/ { proxy_pass http://servers/; } #正常,截断

location /t3 { proxy_pass http://servers; } #正常,不截断

location /t4 { proxy_pass http://servers/; } #正常,截断

location /t5/ { proxy_pass http://servers/test/; } #正常,截断

location /t6/ { proxy_pass http://servers/test; } #缺"/",截断

location /t7 { proxy_pass http://servers/test/; } #含"//",截断

location /t8 { proxy_pass http://servers/test; } #正常,截断

测试脚本

for i in $(seq 8)

do

url=http://tapi.xxxx.com/t$i/doc/index.html

echo "-----------$url-----------"

curl url

done

测试结果

----------http://tapi.xxxx.com/t1/doc/index.html------------

/t1/doc/index.html

----------http://tapi.xxxx.com/t2/doc/index.html------------

/doc/index.html

----------http://tapi.xxxx.com/t3/doc/index.html------------

/t3/doc/index.html

----------http://tapi.xxxx.com/t4/doc/index.html------------

/doc/index.html

----------http://tapi.xxxx.com/t5/doc/index.html------------

/test/doc/index.html

----------http://tapi.xxxx.com/t6/doc/index.html------------

/testdoc/index.html

----------http://tapi.xxxx.com/t7/doc/index.html------------

/test//doc/index.html

----------http://tapi.xxxx.com/t8/doc/index.html------------

/test/doc/index.html

作者:全栈运维

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值