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