前言
近段時間秋招上岸了,於是每天瘋狂補各種分布式基礎,每天都在痛苦與快樂中度過。
在學習 nginx 的時候,遇到配置上的問題:root 與 alias 的區別,卡了大概三個小時,記錄下來警醒自己不要再犯了。
正文
在使用 “/” 進行配置時,兩者沒有區別,一樣都是在 root 或者 alias 指定的路徑尋找文件,所以以下的過程與結果都跟此無關。
- 測試用例的構建
location /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關鍵字的區別/
