前言
近段时间秋招上岸了,于是每天疯狂补各种分布式基础,每天都在痛苦与快乐中度过。
在学习 nginx 的时候,遇到配置上的问题:root 与 alias 的区别,卡了大概三个小时,记录下来警醒自己不要再犯了。
正文
在使用 “/” 进行配置时,两者没有区别,一样都是在 root 或者 alias 指定的路径寻找文件,所以以下的过程与结果都跟此无关。
测试用例的构建
1
2
3
4
5
6
7location /static2 {
root /static;
}
location /static1 {
alias /static;
}图片示例及存放位置
2.jpeg : /static/
5.jpeg : /static/static2/
- 启动 nginx 并输入 url
结果
结果分析
从访问 url,映射关系 relation 以及文件位置 location 综合来看,可以得出以下规律:
2.jpeg : alias = location !=url
5.jpeg : root + location = url
- 结论
个人认为,alias 起到一个文件路径重定向的功能,能有效隐藏文件真实路径。相对来说root 更像在指定 root 文件夹中寻找文件,文件路径树容易被猜测导致安全问题的发生。
本文首发于 cartoon的博客
转载请注明出处:https://cartoonyu.github.io/cartoon-blog/post/nginx/nginx中root与alias关键字的区别/