Nginx路由匹配規則及各種場景例項

2021-10-07 04:40:08 字數 2226 閱讀 2966

location [=||*|^~] /uri/

中括號中為路由匹配符號,常見的有:

1  =:精確匹配2^

~:精確字首匹配

3~:區分大小寫的正則匹配4~

*:不區分大小寫的正則匹配

5/uri:普通字首匹配

6/:通用匹配

精確匹配

精確匹配使用 = 表示,nginx進行路由匹配的時候,精確匹配具有最高的優先順序,請求一旦精確匹配成功nginx會停止搜尋其他到匹配項

配置例項

location = /test

精確字首匹配

正則匹配

# 配置2

location ~* /test_a

對於請求 /test_a/hello 來說會被匹配到 配置1 處理,/test_a/hello 則會被匹配給 配置2 處理

普通字首匹配

普通字首匹配前面沒有任何修飾符,直接在location後寫需要匹配的uri,它的優先順序次於正則匹配

配置例項

location /img

通用匹配

通用匹配使用乙個 / 表示,可以匹配所有請求,一般nginx配置檔案最後都會有乙個通用匹配規則,當其他匹配規則均失效時,請求會被路由給通用匹配規則處理;如果沒有配置通用匹配,並且其他所有匹配規則均失效時,nginx會返回 404 錯誤

配置例項

location /

引用乙個完整例子

nginx路由規則配置:

請求uri 匹配路由規則

http:

//localhost/ 規則a

//localhost/login 規則b

//localhost/register 規則f

//localhost/static/a.html 規則c

//localhost/static/files/a.txt 規則x

//localhost/a.png 規則d

//localhost/a.png 規則e

//localhost/img/a.gif 規則d

//localhost/img/a.tiff 規則y

以上是對nginx路由匹配規則的粗略總結和歸納。

# 1、反向**靜態檔案

# 配置反向**

location /drink

# error_page 404 /404.html;

# redirect server error pages to the static page /50x.html

error_page 500

502503

504/50x.html;

location =

/50x.html

}}

# 2、配置ssl網域名稱+反向**靜態檔案+**服務

# 配置反向** end

error_page 500

502503

504/50x.html;

location =

/50x.html

# 配置服務** start

location /api

# 配置服務** end

}}

# 3、配置負載

worker_processes 2

;events

stream

# 朝外提供服務的埠

server

}

nginx 路由匹配規則

語法規則 location uri 首先匹配 精確匹配 其次匹配 非正則 其次是按檔案中順序的正則匹配,最後是交給 通用匹配。當有匹配成功時候,停止匹配,按當前匹配規則處理請求。注意 精準匹配命中時,停止location 動作,直接走 精準匹配 一般匹配 含非正則 命中時,先收集所有的普通匹配,最後...

nginx匹配規則

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

nginx匹配規則

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