nginx的優先匹配規則

2021-09-03 10:51:05 字數 1419 閱讀 4736

nginx的優先匹配規則

以=開頭表示精確匹配

如 a 中只匹配根目錄結尾的請求,後面不能帶任何字串。

^~ 開頭表示uri以某個常規字串開頭,不是正則匹配

~ 開頭表示區分大小寫的正則匹配;

~* 開頭表示不區分大小寫的正則匹配

/ 通用匹配, 如果沒有其它匹配,任何請求都會匹配到

順序不等於優先順序:

(location =) > (location 完整路徑) > (location ^~ 路徑) > (location ~,~* 正則順序) > (location 部分起始路徑) > (/)

# 第乙個必選規則

一般會nginx**多個tomcat,有乙個作為首頁,其餘的只作為介面相互呼叫。

location  /cms
第二種是靜態,當然也有使用靜態做首頁的,都是死的,點了也不會跳轉的,直接對映本地目錄。

第三種就是動靜分離:

靜態伺服器放靜態資源,nginx做反代:

靜態伺服器訪問本地靜態資源,開啟80埠。

location = / 

nginx web service做**:

location = / 

第四種就是介面呼叫,nginx**tomcat。

location /api
舉乙個簡單的例子優先匹配規則,不能完全模仿生產,開發需求訪問www.***/cms,如果是*.html的都跳到靜態資源,其他的都跳到tomcat pool;當然靜態資源和tomcat pool下面都有index.html檔案。在自己的測試機試了下可以做到。

[root@www conf.d]# cat admin.conf 

server 

location ~* /cms/.*\.html$ 

}

目錄下面的檔案內容如下:

測試訪問url:看它預設跳轉。

測試成功,跟書寫順序無關,優先匹配。

nginx匹配規則說明以及匹配的優先順序

語法規則location uri 模式 含義location uri 表示精確匹配,只有完全匹配上才能生效 location uri 開頭對url路徑進行字首匹配,並且在正則之前。location pattern 開頭表示區分大小寫的正則匹配 location pattern 開頭表示不區分大小寫的...

nginx匹配規則說明以及匹配的優先順序

語法規則 location uri 模式 含義location uri 表示精確匹配,只有完全匹配上才能生效 location uri 開頭對url路徑進行字首匹配,並且在正則之前。location pattern 開頭表示區分大小寫的正則匹配 location pattern 開頭表示不區分大小寫...

nginx匹配規則

nginx的location可以有以下幾個匹配 1.嚴格匹配這個查詢。如果找到,停止搜尋。2.匹配路徑的字首,如果找到,停止搜尋。3.為區分大小寫的正則匹配 4.為不區分大小寫匹配 波浪線表示執行乙個正則匹配,區分大小寫 表示執行乙個正則匹配,不區分大小寫 表示普通字元匹配,如果該選項匹配,只匹配該...