Global Accelerator的監聽支援配置基於網域名稱和路徑的轉寄策略。本文為您介紹轉寄條件中網域名稱和路徑的配置規則,及轉寄動作中重寫和重新導向的路徑增強配置規則。
轉寄條件的網域名稱配置規則
網域名稱配置規則支援精準網域名稱、萬用字元網域名稱和Regex網域名稱。關於如何添加轉寄策略,請參見添加轉寄策略。
網域名稱配置規則 | 說明 |
精準匹配及萬用字元 |
|
正則匹配(不區分大小寫) |
|
轉寄條件的路徑配置規則
路徑配置規則支援精準路徑、萬用字元路徑和Regex路徑。關於如何添加轉寄策略,請參見添加轉寄策略。
路徑配置規則 | 說明 |
精準匹配及萬用字元 |
|
正則匹配(區分大小寫) |
|
重寫和重新導向中路徑的增強配置規則
轉寄條件的路徑配置Regex後,轉寄動作中的重寫和重新導向的路徑支援Regex替換。關於如何添加轉寄策略,請參見添加轉寄策略。
轉寄條件的路徑正則配置規則,請參見轉寄條件的路徑配置規則。
注意事項
轉寄條件中Regex中包含的半形圓括弧
( )
需要與轉寄動作中重寫或重新導向路徑中$
變數的個數保持一致。轉寄動作中重寫或重新導向的路徑中需要包含
${1}
、${2}
、${3}
中的一個或多個,且這三個變數不支援使用其他字元代替。
替換原理
路徑匹配:用戶端發送請求,並匹配到某一條路徑轉寄策略的Regex。
提取與替換:按照Regex的規範提取,將前三個半形圓括弧
( )
提取出來的內容分別儲存至${1}
、${2}
、${3}
中,用於在轉寄動作的重寫或重新導向路徑中替換。拼接:按照轉寄動作中重寫或重新導向路徑的配置,對其中的
${1}
、${2}
、${3}
進行值的替換,最終拼接成重寫或重新導向的實際路徑。
編號
步驟
樣本
1
配置轉寄策略中的轉寄條件和轉寄動作。
轉寄條件路徑:
/sys/(.*)/(.*)/aaa
轉寄動作重寫或重新導向路徑:
/${1}/${2}
2
用戶端發送請求,並匹配路徑。
用戶端發送的請求路徑:
/sys/ccc/bbb/aaa
匹配到的轉寄條件路徑:
/sys/(.*)/(.*)/aaa
3
提取與替換
按照Regex規範,轉寄條件路徑中的兩個
(.*)
分別提取到ccc
和bbb
,並分別保留至轉寄動作中重寫或重新導向路徑中的${1}和${2}。${1}
替換為ccc
${2}
替換為bbb
4
拼接路徑
後端伺服器接收到的路徑:
/ccc/bbb
配置樣本
您可以根據注意事項和替換原理,在控制台上添加轉寄策略。轉寄策略配置樣本如下:
樣本1:轉寄動作為重寫和轉寄至
類別
說明
如果(條件全部匹配)
路徑是正則匹配(區分大小寫)
匹配說明
請求的路徑和設定的路徑根據Regex匹配。
輸入條件
只允許包含大小寫英文字母、數字和
.-_/\=?~^*$:()[]+|"'@
這些特殊字元。樣本
請求的路徑:
/sys/ccc/bbb/aaa
正則匹配輸入
/sys/(.*)/(.*)/aaa
時,路徑匹配成功。
那麼轉寄動作是
重寫
網域名稱:
${host}
路徑:
/${1}/${2}
查詢:
${query}
轉寄至
在列表中選擇目標虛擬終端節點群組。
樣本2:轉寄動作為重新導向
類別
說明
如果(條件全部匹配)
路徑是正則匹配(區分大小寫)
匹配說明
請求的路徑和設定的路徑根據Regex匹配。
輸入條件
只允許包含大小寫英文字母、數字和
.-_/\=?~^*$:()[]+|"'@
這些特殊字元。樣本
請求的路徑:
/sys/ccc/bbb/aaa
正則匹配輸入
/sys/(.*)/(.*)/aaa
,路徑匹配成功。
那麼轉寄動作是
重新導向
協議:
$protocol
網域名稱:
${host}
連接埠:
${port}
路徑:
/${1}/${2}
查詢:
${query}
狀態代碼:
301