本文主要介紹了nginx 多個location轉(zhuǎn)發(fā)任意請求或訪問靜態(tài)資源文件的實現(xiàn),分享給大家,具體如下:
server {
#監(jiān)聽的端口
listen 80;
#監(jiān)聽的域名
server_name localhost;
#監(jiān)聽帶后綴的url
location ^~\.txt {
#文件放到/html文件夾下
root /;
}
#監(jiān)聽所有url,沒有特殊需求就用這一個location就夠了
#使用通配符只有在沒有匹配上其他location的情況下會進(jìn)入
location / {
#去掉了只有url才轉(zhuǎn)發(fā)的限制,因為直接訪問域名會通不過if從而轉(zhuǎn)發(fā)不了請求。
proxy_pass http://localhost:8080;
}
}
附帶上匹配規(guī)則:
![](http://img.jbzj.com/file_images/article/202011/20201110140919138.png?2020101014937)
里面的規(guī)則自己嘗試一下就明白了
以下 為原文↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
server {
#監(jiān)聽的端口
listen 80;
#監(jiān)聽的域名
server_name localhost;
#監(jiān)聽帶后綴的url
location ^~\.txt {
#文件放到/html文件夾下
root /;
}
#監(jiān)聽所有url,沒有特殊需求就用這一個location就夠了
location / {
#沒有后綴的請求才會轉(zhuǎn)發(fā) 是為了配合上一個location能訪問到資源文件而不是轉(zhuǎn)發(fā)所有請求。沒有特殊需求就不要判斷直接proxy_pass到請求
if (!-e $request_filename){
proxy_pass http://localhost:8080;
break;
}
}
}
location可以添加多個,但是要注意相互之間不要沖突,否則轉(zhuǎn)發(fā)多種會請求超時
到此這篇關(guān)于nginx 多個location轉(zhuǎn)發(fā)任意請求或訪問靜態(tài)資源文件的實現(xiàn)的文章就介紹到這了,更多相關(guān)nginx location轉(zhuǎn)發(fā)任意請求內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!