nginx 基礎配置:多個location轉發任意請求或訪問靜態資原始檔
阿新 • • 發佈:2019-02-13
2018-08-10更新
server {
#監聽的埠
listen 80;
#監聽的域名
server_name localhost;
#監聽帶字尾的url
location ^~\.txt {
#檔案放到/html資料夾下
root /;
}
#監聽所有url,沒有特殊需求就用這一個location就夠了
#使用萬用字元只有在沒有匹配上其他location的情況下會進入
location / {
#去掉了只有url才轉發的限制,因為直接訪問域名會通不過if 從而轉發不了請求。
proxy_pass http://localhost:8080;
}
}
附帶上匹配規則:
裡面的規則自己嘗試一下就明白了
以下 為原文↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
server {
#監聽的埠
listen 80;
#監聽的域名
server_name localhost;
#監聽帶字尾的url
location ^~\.txt {
#檔案放到/html資料夾下
root /;
}
#監聽所有url,沒有特殊需求就用這一個location就夠了
location / {
#沒有後綴的請求才會轉發 是為了配合上一個location能訪問到資原始檔而不是轉發所有請求。沒有特殊需求就不要判斷直接proxy_pass到請求
if (!-e $request_filename){
proxy_pass http://localhost:8080;
break;
}
}
}
location可以新增多個,但是要注意相互之間不要衝突,否則轉發多種會請求超時