本文主要介紹了nginx 多個location轉發任意請求或訪問靜態資源文件的實現,分享給大家,具體如下:
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可以添加多個,但是要注意相互之間不要沖突,否則轉發多種會請求超時
到此這篇關于nginx 多個location轉發任意請求或訪問靜態資源文件的實現的文章就介紹到這了,更多相關nginx location轉發任意請求內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!