全部產品
Search
文件中心

Global Accelerator:佈建網域名和路徑的轉寄策略

更新時間:Jun 30, 2024

Global Accelerator的監聽支援配置基於網域名稱和路徑的轉寄策略。本文為您介紹轉寄條件中網域名稱和路徑的配置規則,及轉寄動作中重寫和重新導向的路徑增強配置規則。

轉寄條件的網域名稱配置規則

網域名稱配置規則支援精準網域名稱、萬用字元網域名稱和Regex網域名稱。關於如何添加轉寄策略,請參見添加轉寄策略

網域名稱配置規則

說明

精準匹配及萬用字元

  • 匹配說明

    • 精準匹配:請求的網域名稱和設定的網域名稱需完全一致。

    • 萬用字元匹配:請求的網域名稱和設定的網域名稱除萬用字元外需完全一致。

  • 輸入條件

    網域名稱長度限制為3~128個字元,只允許包含大小寫英文字母、數字和-.這些特殊字元,支援星號(*)和半形問號(?)作為萬用字元使用。

  • 樣本

    請求的網域名稱:www.example.com

    • 精準匹配:輸入www.example.com匹配成功。

    • 萬用字元匹配:輸入*.example.comwww.example.*匹配成功。

正則匹配(不區分大小寫)

  • 匹配說明

    請求的網域名稱和設定的網域名稱根據Regex匹配。

  • 輸入條件

    網域名稱長度限制為3~128個字元,只允許包含大小寫英文字母、數字和.-?=~_+/\^*!$&|()[]這些特殊字元。

  • 樣本

    請求的網域名稱:www.Example.com

    正則匹配輸入^www.example.com$時,網域名稱匹配成功。

轉寄條件的路徑配置規則

路徑配置規則支援精準路徑、萬用字元路徑和Regex路徑。關於如何添加轉寄策略,請參見添加轉寄策略

路徑配置規則

說明

精準匹配及萬用字元

  • 匹配說明

    • 精準匹配:請求的路徑和設定的路徑需完全一致。

    • 萬用字元匹配:請求的路徑和設定的路徑除萬用字元外需完全一致。

  • 輸入條件

    路徑長度限制為1~128個字元,必須以/開頭,只允許包含字母、數字和$-_.+/&~@:'這些字元,支援星號*和問號?作為萬用字元使用。

  • 樣本

    請求的路徑:/example/text

    • 精準匹配:輸入/example/text匹配成功。

    • 萬用字元:輸入/example/*匹配成功。

    說明

    Global Accelerator的路徑匹配規則與Nginx不同,Global Accelerator不支援路徑最長相符原則。

    例如,Nginx的常用配置為location /abc,匹配location的方式為最長首碼匹配,Global Accelerator的最長首碼匹配需通過萬用字元實現。您可以在Global Accelerator上配置/abc/*(精確匹配及萬用字元)來達到相同的效果。

正則匹配(區分大小寫)

  • 匹配說明

    請求的路徑和設定的路徑根據Regex匹配。

  • 輸入條件

    只允許包含大小寫英文字母、數字和.-_/\=?~^*$:()[]+|"'@這些特殊字元。

  • 樣本

    請求的路徑:/sys/aaa/HOST

    正則匹配輸入^/sys/(.*)/HOST$時,路徑匹配成功。

重寫和重新導向中路徑的增強配置規則

轉寄條件的路徑配置Regex後,轉寄動作中的重寫和重新導向的路徑支援Regex替換。關於如何添加轉寄策略,請參見添加轉寄策略

說明

轉寄條件的路徑正則配置規則,請參見轉寄條件的路徑配置規則

  • 注意事項

    • 轉寄條件中Regex中包含的半形圓括弧( )需要與轉寄動作中重寫或重新導向路徑中$變數的個數保持一致。

    • 轉寄動作中重寫或重新導向的路徑中需要包含${1}${2}${3}中的一個或多個,且這三個變數不支援使用其他字元代替。

  • 替換原理

    1. 路徑匹配:用戶端發送請求,並匹配到某一條路徑轉寄策略的Regex。

    2. 提取與替換:按照Regex的規範提取,將前三個半形圓括弧( )提取出來的內容分別儲存至${1}${2}${3}中,用於在轉寄動作的重寫或重新導向路徑中替換。

    3. 拼接:按照轉寄動作中重寫或重新導向路徑的配置,對其中的${1}${2}${3}進行值的替換,最終拼接成重寫或重新導向的實際路徑。

    編號

    步驟

    樣本

    1

    配置轉寄策略中的轉寄條件和轉寄動作。

    • 轉寄條件路徑:/sys/(.*)/(.*)/aaa

    • 轉寄動作重寫或重新導向路徑:/${1}/${2}

    2

    用戶端發送請求,並匹配路徑。

    • 用戶端發送的請求路徑:/sys/ccc/bbb/aaa

    • 匹配到的轉寄條件路徑:/sys/(.*)/(.*)/aaa

    3

    提取與替換

    按照Regex規範,轉寄條件路徑中的兩個(.*)分別提取到cccbbb,並分別保留至轉寄動作中重寫或重新導向路徑中的${1}和${2}。

    • ${1}替換為ccc

    • ${2}替換為bbb

    4

    拼接路徑

    後端伺服器接收到的路徑:/ccc/bbb

  • 配置樣本

    您可以根據注意事項和替換原理,在控制台上添加轉寄策略。轉寄策略配置樣本如下:

    樣本1:轉寄動作為重寫和轉寄至

    路徑-重寫樣本png.png

    類別

    說明

    如果(條件全部匹配)

    路徑正則匹配(區分大小寫)

    • 匹配說明

      請求的路徑和設定的路徑根據Regex匹配。

    • 輸入條件

      只允許包含大小寫英文字母、數字和.-_/\=?~^*$:()[]+|"'@這些特殊字元。

    • 樣本

      請求的路徑:/sys/ccc/bbb/aaa

      正則匹配輸入/sys/(.*)/(.*)/aaa時,路徑匹配成功。

    那麼轉寄動作是

    重寫

    • 網域名稱${host}

    • 路徑/${1}/${2}

    • 查詢${query}

    轉寄至

    在列表中選擇目標虛擬終端節點群組。

    樣本2:轉寄動作為重新導向

    路徑-重新導向樣本 .png

    類別

    說明

    如果(條件全部匹配)

    路徑正則匹配(區分大小寫)

    • 匹配說明

      請求的路徑和設定的路徑根據Regex匹配。

    • 輸入條件

      只允許包含大小寫英文字母、數字和.-_/\=?~^*$:()[]+|"'@這些特殊字元。

    • 樣本

      請求的路徑:/sys/ccc/bbb/aaa

      正則匹配輸入/sys/(.*)/(.*)/aaa,路徑匹配成功。

    那麼轉寄動作是

    重新導向

    • 協議$protocol

    • 網域名稱${host}

    • 連接埠${port}

    • 路徑/${1}/${2}

    • 查詢${query}

    • 狀態代碼301