那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

通過實例說明解析匹配優先級

lhl545545 ? 來源:Linux愛好者 ? 作者:Linux愛好者 ? 2020-06-11 09:49 ? 次閱讀

1. 目標

nginx 反向代理,路徑映射的過程是什么?如何配置路徑映射規則?

2、location 路徑匹配

2.1 匹配規則:

location 路徑正則匹配:

符號說明

~正則匹配,區分大小寫

~*正則匹配,不區分大小寫

^~普通字符匹配,如果該選項匹配,則,只匹配改選項,不再向下匹配其他選項

=普通字符匹配,精確匹配

@定義一個命名的 location,用于內部定向,例如 error_page,try_files

2.2 匹配優先級:

路徑匹配,優先級:(跟 location 的書寫順序關系不大)

精確匹配:

=前綴的指令嚴格匹配這個查詢。

如果找到,停止搜索。

普通字符匹配:

所有剩下的常規字符串,最長的匹配。

如果這個匹配使用^?前綴,搜索停止。

正則匹配:

正則表達式,在配置文件中定義的順序,匹配到一個結果,搜索停止;

默認匹配:

如果第3條規則產生匹配的話,結果被使用。

否則,如同從第2條規則被使用。

2.3 舉例

通過一個實例,簡單說明一下匹配優先級:

location = / {

# 精確匹配 / ,主機名后面不能帶任何字符串

[ configuration A ]

}

location / {

# 因為所有的地址都以 / 開頭,所以這條規則將匹配到所有請求

# 但是正則和最長字符串會優先匹配

[ configuration B ]

}

location /documents/ {

# 匹配任何以 /documents/ 開頭的地址,匹配符合以后,還要繼續往下搜索

# 只有后面的正則表達式沒有匹配到時,這一條才會采用這一條

[ configuration C ]

}

location ~ /documents/Abc {

# 匹配任何以 /documents/ 開頭的地址,匹配符合以后,還要繼續往下搜索

# 只有后面的正則表達式沒有匹配到時,這一條才會采用這一條

[ configuration CC ]

}

location ^~ /images/ {

# 匹配任何以 /images/ 開頭的地址,匹配符合以后,停止往下搜索正則,采用這一條。

[ configuration D ]

}

location ~* 。(gif|jpg|jpeg)$ {

# 匹配所有以 gif,jpg或jpeg 結尾的請求

# 然而,所有請求 /images/ 下的圖片會被 config D 處理,因為 ^~ 到達不了這一條正則

[ configuration E ]

}

location /images/ {

# 字符匹配到 /images/,繼續往下,會發現 ^~ 存在

[ configuration F ]

}

location /images/abc {

# 最長字符匹配到 /images/abc,繼續往下,會發現 ^~ 存在

# F與G的放置順序是沒有關系的

[ configuration G ]

}

location ~ /images/abc/ {

# 只有去掉 config D 才有效:先最長匹配 config G 開頭的地址,繼續往下搜索,匹配到這一條正則,采用

[ configuration H ]

}

location ~* /js/.*/.js

按照上面的location寫法,以下的匹配示例成立:

/ -》 config A:

精確完全匹配,即使/index.html也匹配不了

/downloads/download.html -》 config B:

匹配B以后,往下沒有任何匹配,采用B

/images/1.gif -》 configuration D:

匹配到F,往下匹配到D,停止往下

/images/abc/def -》 config D:

最長匹配到G,往下匹配D,停止往下你可以看到 任何以/images/開頭的都會匹配到D并停止,FG寫在這里是沒有任何意義的,H是永遠輪不到的,這里只是為了說明匹配順序

/documents/document.html -》 config C:

匹配到C,往下沒有任何匹配,采用C

/documents/1.jpg -》 configuration E:

匹配到C,往下正則匹配到E

/documents/Abc.jpg -》 config CC:

最長匹配到C,往下正則順序匹配到CC,不會往下到E
責任編輯:pj

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 路徑
    +關注

    關注

    0

    文章

    50

    瀏覽量

    12507
  • 映射
    +關注

    關注

    0

    文章

    47

    瀏覽量

    15862
  • nginx
    +關注

    關注

    0

    文章

    154

    瀏覽量

    12235
收藏 人收藏

    評論

    相關推薦

    車載以太網交換機入門基本功(4)—優先級設計與VLAN測試

    VLAN通過報文Tag、交換機端口屬性、交換機端口過濾功能得以實現,并通過優先級和隊列實現轉發的有效調度。為了驗證交換機芯片的功能實現,需要參考OPEN聯盟的TC11交換機芯片測試規范,包括通用測試、地址
    的頭像 發表于 09-06 14:45 ?495次閱讀
    車載以太網交換機入門基本功(4)—<b class='flag-5'>優先級</b>設計與VLAN測試

    freertos中斷優先級在哪設置

    FreeRTOS是一個流行的實時操作系統,它廣泛應用于嵌入式系統開發。在FreeRTOS中,中斷優先級是一個重要的概念,因為它決定了中斷處理的順序和響應時間。 1. 理解中斷優先級 在討論如何設置
    的頭像 發表于 09-02 14:17 ?780次閱讀

    APS智能優化排產軟件的優先級應用

    資源、訂單需求和約束條件,自動計算出最優的生產計劃。在這個過程中,訂單排產的優先規則起著至關重要的作用。1.交期優先級交期優先級是訂單排產中最基本的優先規則。根據
    的頭像 發表于 06-26 17:43 ?444次閱讀
    APS智能優化排產軟件的<b class='flag-5'>優先級</b>應用

    ESP32S2如何設置中斷優先級

    ESP32S2有六中斷, 如何設置中斷優先級? 比如在GPIO例程里 ,這種中斷優先級是如何設置的呢? 中斷寄存器列表里 ,只有簡稱,哪里能獲取這個名稱所對應的功能??
    發表于 06-21 07:59

    請問有什么方法降低WIFI中斷的優先級

    因為項目對時序輸出要求比較嚴格,WIFI中斷優先級比硬件定時器中斷優先級要高,在定時器中斷里面對GPIO管腳控制被延長執行,請問有什么方法降低WIFI中斷的優先級
    發表于 06-19 07:37

    如何在不同優先級安裝相同的處理程序?

    在不同的優先級中安裝相同的處理程序? 我需要一個解決方案,在不同的優先級中安裝相同的處理程序(ISR),以便在我的項目中處理 CAT2 中斷,但我不能上傳項目,因為我簽署了 NDA。
    發表于 05-28 08:13

    systick的中斷優先級是否應該設置為最高優先級的嵌套中斷?

    最近在學習ucosii有這樣一個疑問,關于stm32的systick作為ucosii的基準時鐘,systick的中斷優先級是否應該設置為最高優先級的嵌套中斷。理由是什么?各位大俠求指教!!!
    發表于 05-16 06:44

    stm32的中斷優先級分組了之后還能改分組嗎?

    如標題所示,stm32的中斷優先級分組了之后還能改分組嗎? 比如我要使用外部中斷EXIT2,3,我在配置的時候配置了優先級分組2組,然后配置了EXIT2,3,如果我下面又想開外部中斷的EXIT4,5的話,我是不是必須還的要使用優先級
    發表于 05-13 08:40

    創建了兩個task如果一個優先級高 一個優先級低,高優先級的那個一直在做,什么時候會調度到低優先級的呢?

    創建了兩個task如果一個優先級高一個優先級低, 我看到任務的函數都是用死循環做的,那個高優先級的那個一直在做,什么時候會調度到低優先級的呢?
    發表于 05-13 07:13

    STM8中斷優先級不夠怎么解決?

    STM8L 中,中斷優先級通過下面函數設置,但此處僅 ITC_PriorityLevel_1,ITC_PriorityLevel_2,ITC_PriorityLevel_3總共才3個中斷優先級可設
    發表于 05-06 06:54

    求助,關于stm32F4中斷優先級0無法搶占的問題求解

    使用F407遇到一個搶占優先級的問題: 現設置優先級分組 HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4);也就是15個優先級分組。按照手冊
    發表于 04-23 07:26

    stm32f401和max31855通過spi通訊,沒有將spi的相關中斷優先級置于最高級就會死機的原因?

    stm32f401和熱電偶芯片max31855通過spi通訊,如果沒有將spi的相關中斷優先級置于最高優先級,程序運行幾秒后就會死機,將spi中斷設置為最高優先級,程序可正常運行
    發表于 03-28 09:14

    STM32F103的寄存器NVIC_IPRx搶占優先級和子優先級是怎么設置的?

    STM32F103的寄存器NVIC_IPRx有些不明白,搶占優先級和子優先級是怎么設置的? 如果,中斷分組2,搶占優先級3,子優先級3 那下面這樣寫對嗎? SCB->AIR
    發表于 03-27 07:48

    Hightec對芯片中斷優先級分配時,中斷號越高中斷優先級越高嗎?

    請問大佬,Hightec對芯片中斷優先級分配時,中斷號越高中斷優先級越高嗎?看網上的帖子說中斷號越低優先級越高。
    發表于 02-27 06:13

    RTTnano的用戶main函數中的優先級是多少?

    RTTnano 的用戶main函數中的優先級是多少?為什么會出現創建新的task之后,main函數會搶占掉低優先級的task,例如RT_THREAD_PRIORITY_MAX設置為8 ,低于3
    發表于 02-26 08:01
    兰桂坊百家乐的玩法技巧和规则 | 百家乐赌场彩| 绍兴县| 做生意什么花招财| 大发888下载安装包| 线上百家乐官网玩法| 百家乐官网模拟分析程序| 百家乐轮盘技巧| 百家乐官网扑克牌耙| 百家乐变牌器批发| 在线百家乐官网官方网| 百家乐讲谈| 澳门1百家乐官网网| 威尼斯人娱乐城易博| 百家乐官网论坛香港马会| 威尼斯人娱乐城网址是什么 | 信丰县| 赌场百家乐台| qq百家乐官网网络平台| 长赢百家乐赌徒| 百家乐博百家乐| 百家乐官网专打单跳投注法| 金殿百家乐的玩法技巧和规则| 澳门百家乐官网海洋阿强| 联众百家乐的玩法技巧和规则| 哪个百家乐官网投注平台信誉好| 百家乐翻天下载| 金字塔百家乐官网的玩法技巧和规则 | 太阳城亚洲| 百家乐棋牌游戏皇冠网| 淄博市| 百盛百家乐的玩法技巧和规则| 百家乐官网平注赢钱法| 大发888王博被带走| 百家乐作弊演示| 百家乐官网现金网排名| 巴厘岛百家乐的玩法技巧和规则| 沙龙百家乐官网赌场娱乐网规则| 新利国际网上娱乐| 百家乐博百家乐| 网上百家乐官网大赢家筹码|