欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nginx配置location匹配順序詳細(xì)總結(jié)

 更新時(shí)間:2023年08月01日 10:30:27   作者:Young丶  
這篇文章主要介紹了Nginx配置location匹配順序詳解,Nginx是十分輕量級的HTTP服務(wù)器,Nginx憑借其穩(wěn)定性、低資源消耗、簡單配置和豐富的功能,從十多年前名不見經(jīng)傳的Web服務(wù)器軟件,發(fā)展到如今能夠跟Apache匹敵的地位,需要的朋友可以參考下

location 匹配規(guī)則:

location 路徑正則匹配:

符號說明
~正則匹配,區(qū)分大小寫
~*正則匹配,不區(qū)分大小寫
^~普通字符匹配,如果該選項(xiàng)匹配,則,只匹配該選項(xiàng),不再向下匹配其他選項(xiàng)
=普通字符匹配,精確匹配
@定義一個命名的 location,用于內(nèi)部定向,例如 error_page,try_files

location匹配優(yōu)先級順序

1.精確匹配

  *   `=` 前綴指令匹配,如果匹配成功,則停止其他匹配

2.普通字符匹配

  * 普通字符串指令匹配,順序是從長到短,匹配成功的location如果使用^~,則停止其他匹配(正則匹配)

3.正則匹配

  * 正則表達(dá)式指令匹配,按照配置文件里的順序,成功就停止其他匹配

4.默認(rèn)匹配

  * 如果第三步中有匹配成功,則使用該結(jié)果,否則使用第二步結(jié)果

注意點(diǎn)

匹配的順序是先匹配普通字符串,然后再匹配正則表達(dá)式。

另外普通字符串匹配順序是根據(jù)配置中字符長度從長到短,也就是說使用普通字符串配置的location順序是無關(guān)緊要的,反正最后nginx會根據(jù)配置的長短來進(jìn)行匹配,但是需要注意的是正則表達(dá)式按照配置文件里的順序測試。找到第一個匹配的正則表達(dá)式將停止搜索。

一般情況下,匹配成功了普通字符串location后還會進(jìn)行正則表達(dá)式location匹配。有兩種方法改變這種行為,其一就是使用=前綴,這時(shí)執(zhí)行的是嚴(yán)格匹配,并且匹配成功后立即停止其他匹配,同時(shí)處理這個請求;另外一種就是使用^~前綴,如果把這個前綴用于一個常規(guī)字符串那么告訴nginx 如果路徑匹配那么不測試正則表達(dá)式。

匹配模式及順序

  • location = /uri    =開頭表示精確匹配,只有完全匹配上才能生效。
  • location ^~ /uri   ^~ 開頭對URL路徑進(jìn)行前綴匹配,并且在正則之前。
  • location ~ pattern  ~開頭表示區(qū)分大小寫的正則匹配。
  • location ~* pattern  ~*開頭表示不區(qū)分大小寫的正則匹配。
  • location /uri     不帶任何修飾符,也表示前綴匹配,但是在正則匹配之后。
  • location /      通用匹配,任何未匹配到其它location的請求都會匹配到,相當(dāng)于switch中的default。

實(shí)驗(yàn)案例

  • 測試"^~" 和 “~”,nginx配置如下。瀏覽器輸入//localhost/helloworld/test,返回601。

如將#1注釋,#2打開,瀏覽器輸入//localhost/helloworld/test,返回603。

注:#1和#2不能同時(shí)打開,如同時(shí)打開,啟動nginx會報(bào)nginx: [emerg] duplicate location “/helloworld”…,因?yàn)檫@兩個都是普通字符串。

location ^~ /helloworld { #1 
	return 601;
} 
#location /helloworld { #2 
# 	return 602;
#}
 location ~ /helloworld { 
 		return 603;
  } 
  • 測試普通字符串的長短(普通字符串的匹配與順序無關(guān),與長短有關(guān))。

瀏覽器輸入//localhost/helloworld/test/a.html,返回601。

瀏覽器輸入//localhost/helloworld/a.html,返回602。

location /helloworld/test/ {        #1
    return 601;
}
location /helloworld/ {                #2
    return 602;
}
  • 測試正則表達(dá)式的順序(正則匹配與順序相關(guān))。

瀏覽器輸入//localhost/helloworld/test/a.html,返回602;

將#2和#3調(diào)換順序,瀏覽器輸入//localhost/helloworld/test/a.html,返回603

location /helloworld/test/ { #1
return 601;
}
location ~ /helloworld { #2
return 602;
}
location ~ /helloworld/test { #3
return 603;
}

到此這篇關(guān)于Nginx配置location匹配順序詳細(xì)總結(jié)的文章就介紹到這了,更多相關(guān)Nginx配置location內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • nginx實(shí)現(xiàn)負(fù)載均衡和動靜分離

    nginx實(shí)現(xiàn)負(fù)載均衡和動靜分離

    這篇文章主要為大家詳細(xì)介紹了nginx實(shí)現(xiàn)負(fù)載均衡和動靜分離,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Nginx配置防盜鏈的完整步驟

    Nginx配置防盜鏈的完整步驟

    這篇文章主要給大家介紹了關(guān)于Nginx配置防盜鏈的完整步驟,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Nginx具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • nginx http響應(yīng)限速的具體實(shí)現(xiàn)

    nginx http響應(yīng)限速的具體實(shí)現(xiàn)

    本文主要介紹了nginx http響應(yīng)限速的具體實(shí)現(xiàn),可以使用limite_rate和limit_rate_after來限制HTTP響應(yīng)的速度,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-05-05
  • 高性能WEB開發(fā) nginx HTTP服務(wù)器篇

    高性能WEB開發(fā) nginx HTTP服務(wù)器篇

    新產(chǎn)品為了效果,做的比較炫,用了很多的圖片和JS,所以前端的性能是很大的問題,分篇記錄前端性能優(yōu)化的一些小經(jīng)驗(yàn)。
    2010-05-05
  • Nginx服務(wù)器對數(shù)據(jù)傳輸速度限制的基本配置方法講解

    Nginx服務(wù)器對數(shù)據(jù)傳輸速度限制的基本配置方法講解

    這篇文章主要介紹了Nginx服務(wù)器對數(shù)據(jù)傳輸速度限制的基本配置方法講解,包括第三方開發(fā)的限速模塊Nginx-limit-traffic-rate-module的使用介紹,需要的朋友可以參考下
    2016-01-01
  • nginx共享內(nèi)存的機(jī)制詳解

    nginx共享內(nèi)存的機(jī)制詳解

    在nginx的進(jìn)程模型下,類似流量統(tǒng)計(jì)、流量控制、數(shù)據(jù)共享、等需要多個工作進(jìn)程共同配合完成任務(wù),共享內(nèi)存是一個重要的進(jìn)程通訊的方案,本文主要介紹了nginx共享內(nèi)存的機(jī)制詳解,感興趣的可以了解一下
    2022-03-03
  • nginx location匹配實(shí)例詳解

    nginx location匹配實(shí)例詳解

    這篇文章主要介紹了nginx location匹配實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • Nginx中server_name指令的參數(shù)詳解

    Nginx中server_name指令的參數(shù)詳解

    這篇文章主要介紹了Nginx中server_name指令的參數(shù)詳解,Nginx中的server_name指令主要用于配置基于名稱的虛擬主機(jī),server_name指令一項(xiàng)很實(shí)用的功能便是可以在使用正則表達(dá)式的捕獲功能,這樣可以盡量精簡配置文件,需要的朋友可以參考下
    2023-08-08
  • CentOS 4.0安裝配置Nginx的方法

    CentOS 4.0安裝配置Nginx的方法

    這篇文章主要介紹了CentOS 4.0安裝配置Nginx的方法,需要的朋友可以參考下
    2014-11-11
  • 解析阿里云centos7服務(wù)器nginx配置及常見問題解答

    解析阿里云centos7服務(wù)器nginx配置及常見問題解答

    這篇文章主要介紹了阿里云centos7服務(wù)器nginx配置及常見問題解答,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07

最新評論