如果您需要為ALB監聽的轉發條件配置域名和路徑規則,及轉發動作配置重寫和重定向的路徑增強規則,本文為您介紹了詳細的配置規則。
轉發條件的域名配置規則
域名配置規則支持精準域名、通配符域名和正則表達式域名。關于如何添加轉發規則,請參見添加轉發規則。
域名配置規則 | 說明 |
精準匹配及通配符 |
|
正則匹配 |
|
轉發條件的路徑配置規則
路徑配置規則支持精準路徑、通配符路徑和正則表達式路徑。關于如何添加轉發規則,請參見添加轉發規則。
路徑配置規則 | 說明 |
精準匹配及通配符 |
|
正則匹配 |
|
重寫和重定向中路徑的增強配置規則
轉發條件的路徑配置正則表達式后,轉發動作中的重寫和重定向的路徑支持正則表達式替換。關于如何添加轉發規則,請參見添加轉發規則。
轉發條件的路徑正則配置規則,請參見轉發條件的路徑配置規則。
注意事項
轉發條件中正則表達式中包含的半角圓括號
( )
需要與轉發動作中重寫或重定向路徑中$變量的個數保持一致。轉發動作中重寫或重定向的路徑中需要包含
${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
時,路徑匹配成功。不區分大小寫:正則匹配輸入
/sys/(.*)/(.*)/aaa
,路徑匹配成功。
轉發動作
重寫
域名:
${host}
路徑:
/${1}/${2}
查詢:
${query}
轉發至
在服務器組列表中選擇目標服務器組。
示例2:轉發動作為重定向
類別
說明
如果以下條件全部匹配
路徑正則匹配
匹配說明
請求的路徑和設定的路徑根據正則表達式匹配。
輸入條件
只允許包含大小寫英文字母、數字和
.-_/=?~^*$:()[]+|
這些特殊字符 。示例
請求的路徑:
/sys/ccc/bbb/aaa
區分大小寫:正則匹配輸入
/sys/(.*)/(.*)/aaa
時,路徑匹配成功。不區分大小寫:正則匹配輸入
/sys/(.*)/(.*)/aaa
,路徑匹配成功。
轉發動作
重定向
協議:
$protocol
域名:
${host}
端口:
${port}
路徑:
/${1}/${2}
查詢:
${query}
狀態碼:
301
相關文檔
如果您需要為ALB監聽配置其他監聽轉發規則,請參見配置監聽轉發規則。