亚洲乱色熟女一区二区三区丝袜,天堂√中文最新版在线,亚洲精品乱码久久久久久蜜桃图片,香蕉久久久久久av成人,欧美丰满熟妇bbb久久久

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

nginx之location規(guī)則詳解

admin
2025年6月29日 15:4 本文熱度 128

一、語(yǔ)法規(guī)則:

  • = 開頭表示精確匹配

  • ^~ 開頭表示uri以某個(gè)常規(guī)字符串開頭,理解為匹配url路徑即可(非正則)

  • ~ 開頭表示區(qū)分大小寫的正則匹配

  • ~* 開頭表示不區(qū)分大小寫的正則匹配

  • !~!~*分別為區(qū)分大小寫不匹配及不區(qū)分大小寫不匹配的正則

  • / 通用匹配,任何請(qǐng)求都會(huì)匹配到

優(yōu)先級(jí):

  • 等號(hào)類型(=)的優(yōu)先級(jí)最高。一旦匹配成功,則不再查找其他location的匹配項(xiàng)

  • ^~和通用匹配。使用前綴匹配,不支持正則表達(dá)式,如果有多個(gè)location匹配成功的話,不會(huì)終止匹配過(guò)程,會(huì)匹配表達(dá)式最長(zhǎng)的那個(gè)(下方有例子)

  • 如果上一步得到的最長(zhǎng)的location為^~類型,則表示阻斷正則表達(dá)式,不再匹配正則表達(dá)式

  • 如果上一步得到的最長(zhǎng)的location不是^~類型,繼續(xù)匹配正則表達(dá)式,只要有一個(gè)正則成功,則使用這個(gè)正則的location,立即返回結(jié)果,并結(jié)束解析過(guò)程

二、驗(yàn)證:

1、精確匹配:

在conf.d文件夾下創(chuàng)建配置文件test.com.conf,內(nèi)容如下:

上圖中第一個(gè)和第二個(gè)location匹配條件一樣,都是/test.html,但第二個(gè)為精準(zhǔn)匹配到靜態(tài)路徑,因此第一個(gè)不會(huì)執(zhí)行,會(huì)執(zhí)行第二個(gè),www.test.com為本地域名解析,access_log和error_lor可以單獨(dú)為每個(gè)模塊定義日志

通過(guò)域名和路徑訪問(wèn)后的內(nèi)容如下:


注意:路徑/usr/share/nginx/test_html文件夾下需要有test.html才可以正常訪問(wèn)

上圖中指定靜態(tài)資源路徑用的關(guān)鍵字root,還可以用alias,那么root和alias的區(qū)別是什么?

  • 用root屬性指定的值是要加入到最終路徑中的,匹配條件會(huì)拼接到路徑中

  • 用alias屬性指定的值不需要加入到最終路徑中

如上圖中所示,請(qǐng)求的條件為test.html,通過(guò)root指定的路徑為/usr/share/nginx/test_html,因此在匹配的時(shí)候,這個(gè)路徑下就必須要有test.html這個(gè)文件才可以,否則就會(huì)找不到而報(bào)錯(cuò),如果用alias,那么通過(guò)瀏覽器進(jìn)行請(qǐng)求的時(shí)候,alias也是指定到/usr/share/nginx/test_htm路徑下,但是會(huì)匹配默認(rèn)的index.html,而無(wú)須強(qiáng)制匹配test.html,但是此時(shí)就不能使用”=”來(lái)進(jìn)行精確匹配,現(xiàn)在將root改為alias,如圖:

注意:alias指定的路徑結(jié)尾要加”/”

下面的配置文件采用roo指定路徑,當(dāng)通過(guò)域名請(qǐng)求http://www.test.com/html/的時(shí)候,將跳轉(zhuǎn)到/usr/share/nginx/html/下的index.html頁(yè)面,如圖:

下面的配置文件采用alias指定路徑,請(qǐng)求http://www.test.com/linshi/的時(shí)候,將跳轉(zhuǎn)到/usr/share/nginx/test_html/index.html頁(yè)面,如圖:

2、通過(guò)^~方式實(shí)現(xiàn)匹配:

例如:下面配置文件有兩條規(guī)則,分別匹配url以字母a開頭,但是長(zhǎng)度不同,首先將長(zhǎng)的規(guī)則先注釋掉,如圖:

通過(guò)curl請(qǐng)求查看狀態(tài)碼,如圖:

說(shuō)明:當(dāng)前只有一個(gè)規(guī)則開啟,因此當(dāng)匹配url以/a/開頭的任何url時(shí),都會(huì)返回狀態(tài)碼666

現(xiàn)在將第二條規(guī)則注釋取消,打開規(guī)則,如圖:

再次發(fā)起同樣的請(qǐng)求,觀察返回狀態(tài)碼,如圖:

從上圖可以看出,兩條規(guī)則同時(shí)被匹配成功,但是第二條規(guī)則比較長(zhǎng),因此第二條規(guī)則優(yōu)先被匹配,如果^~匹配成功了,那么表示阻斷正則表達(dá)式,不進(jìn)行正則匹配

3、通過(guò)”~”方式實(shí)現(xiàn)匹配:

上圖中的匹配規(guī)則都是通過(guò)”^~”方式來(lái)實(shí)現(xiàn)的,那么在匹配最長(zhǎng)規(guī)則的時(shí)候又分為兩種情況:

  • 第一種:最長(zhǎng)規(guī)則通過(guò)^~來(lái)實(shí)現(xiàn)匹配(上圖中的最長(zhǎng)規(guī)則就是通過(guò)^~實(shí)現(xiàn))

  • 第二種:最長(zhǎng)的規(guī)不是通過(guò)^~實(shí)現(xiàn)匹配,而是通過(guò)普通匹配來(lái)實(shí)現(xiàn)

當(dāng)最長(zhǎng)規(guī)則是通過(guò)普通匹配的時(shí)候,將會(huì)繼續(xù)正則匹配, 只要有一個(gè)正則成功,則使用這個(gè)正則的location,停止繼續(xù)匹配,返回結(jié)果

現(xiàn)在將第二條規(guī)則改為普通匹配,并添加一條正則匹配,如圖:

再次執(zhí)行同樣的請(qǐng)求命令,得到的狀態(tài)碼如下:

說(shuō)明:從上圖可以看出請(qǐng)求/a/b/的時(shí)候,首先會(huì)到達(dá)第二條規(guī)則(最長(zhǎng)規(guī)則),由于第二條規(guī)則為普通匹配(不是^~匹配),因此會(huì)繼續(xù)去匹配正則,也就是第三條規(guī)則,因此最終返回狀態(tài)碼為888

4、通過(guò)"~*"方式實(shí)現(xiàn)匹配:

” ~* ” 表示不區(qū)分大小寫的正則匹配

例如:通過(guò)url請(qǐng)求/a/b/或者/A/B/,查看返回狀態(tài)碼,如圖:

請(qǐng)求結(jié)果如下:

從上圖可以看出,無(wú)論匹配的是大寫還是小寫,都會(huì)返回對(duì)應(yīng)狀態(tài)碼888

常用方法還有匹配圖片后綴,并返回指定信息,如圖:


5、”!~*” 和”!~” 不常用,再次不做介紹

6、通過(guò)”/” 實(shí)現(xiàn)通用匹配:

本例子中,9091服務(wù)為httpd

第一種情況:proxy_pass最后面沒(méi)有斜杠,匹配路徑有斜杠(/bbb/),如圖:

說(shuō)明:proxy_pass最后面沒(méi)有斜杠”/”,此時(shí)通過(guò)瀏覽器請(qǐng)求http://10.9.2.248/bbb/,那么實(shí)際訪問(wèn)的地址就是 http://10.9.2.248:9091/bbb/,會(huì)將匹配路徑/bbb一起加過(guò)去

此時(shí)如果在http的目錄頁(yè)面目錄htdocs中創(chuàng)建目錄bbb,在bbb目錄下創(chuàng)建文件index.html,然后即可實(shí)現(xiàn)正常訪問(wèn),如圖:

第二種情況: proxy_pass最后面有斜杠 “/”,匹配路徑也有斜杠(/bbb/),如圖

說(shuō)明:proxy_pass最后面有斜杠”/”,此時(shí)通過(guò)瀏覽器請(qǐng)求http://10.9.2.248/bbb/,那么實(shí)際訪問(wèn)的地址就是 http://10.9.2.248:9091,會(huì)將/bbb拋棄的,如圖:

第三種情況:proxy_pass后面還有其他路徑但是最后沒(méi)有 “/”, 匹配路徑也有斜杠(/bbb/) ,如圖:

說(shuō)明,此時(shí)通過(guò)瀏覽器訪問(wèn)http://10.9.2.248/bbb/index.html,實(shí)際請(qǐng)求的是http://10.9.2.248/cxxindex.html(注意位置是默認(rèn)路徑下,不是ccc路徑下,如果proxy_pass的路徑為/ccc/ddd,那么實(shí)際請(qǐng)求的就是ccc路徑下的cccindex.html)

在httpd的默認(rèn)路徑下(htdocs)創(chuàng)建文件cxxindex.html,然后訪問(wèn),如圖:

第四種情況: proxy_pass后面還有其他路徑但是最后有 “/”, 匹配路徑也有斜杠(/bbb/) ,如圖:

說(shuō)明:此時(shí)通過(guò)瀏覽器訪問(wèn):http://10.9.2.248/bbb/index.html,實(shí)際訪問(wèn)的是http://10.9.2.248/ccc/index.html

在httpd默認(rèn)路徑下(htdocs)創(chuàng)建一個(gè)名稱為ccc的文件夾,在內(nèi)部定義一個(gè)index.html,然后訪問(wèn),如圖:

第五種情況:location匹配路徑末尾沒(méi)有 “/”,proxy_pass后面也沒(méi)有”/”,如圖:

說(shuō)明:8081端口為httpd的服務(wù)器端口,如果匹配路徑和proxy_pass后都沒(méi)有”/”,那么此時(shí)訪問(wèn)http://10.9.2.248/bbb,默認(rèn)將請(qǐng)求到http://127.0.0.1:8081/bbb/index.html的內(nèi)容,此時(shí)httpd默認(rèn)路徑htdocs下創(chuàng)建文件夾bbb,內(nèi)部創(chuàng)建index.html,定義內(nèi)容為:i am match bbb,通過(guò)IP請(qǐng)求如圖:

更多內(nèi)容參考鏈接地址:https://www.ywdevops.cn/index.php/2021/11/08/nginx-5/


閱讀原文:原文鏈接


該文章在 2025/7/1 23:22:45 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved