ALB配置域名和路徑的轉(zhuǎn)發(fā)規(guī)則
如果您需要為ALB監(jiān)聽的轉(zhuǎn)發(fā)條件配置域名和路徑規(guī)則,及轉(zhuǎn)發(fā)動(dòng)作配置重寫和重定向的路徑增強(qiáng)規(guī)則,本文為您介紹了詳細(xì)的配置規(guī)則。
轉(zhuǎn)發(fā)條件的域名配置規(guī)則
域名配置規(guī)則支持精準(zhǔn)域名、通配符域名和正則表達(dá)式域名。關(guān)于如何添加轉(zhuǎn)發(fā)規(guī)則,請參見添加轉(zhuǎn)發(fā)規(guī)則。
域名配置規(guī)則 | 說明 |
精準(zhǔn)匹配及通配符 |
|
正則匹配 |
|
轉(zhuǎn)發(fā)條件的路徑配置規(guī)則
路徑配置規(guī)則支持精準(zhǔn)路徑、通配符路徑和正則表達(dá)式路徑。關(guān)于如何添加轉(zhuǎn)發(fā)規(guī)則,請參見添加轉(zhuǎn)發(fā)規(guī)則。
路徑配置規(guī)則 | 說明 |
精準(zhǔn)匹配及通配符 |
|
正則匹配 |
|
重寫和重定向中路徑的增強(qiáng)配置規(guī)則
轉(zhuǎn)發(fā)條件的路徑配置正則表達(dá)式后,轉(zhuǎn)發(fā)動(dòng)作中的重寫和重定向的路徑支持正則表達(dá)式替換。關(guān)于如何添加轉(zhuǎn)發(fā)規(guī)則,請參見添加轉(zhuǎn)發(fā)規(guī)則。
轉(zhuǎn)發(fā)條件的路徑正則配置規(guī)則,請參見轉(zhuǎn)發(fā)條件的路徑配置規(guī)則。
注意事項(xiàng)
轉(zhuǎn)發(fā)條件中正則表達(dá)式中包含的半角圓括號
( )
需要與轉(zhuǎn)發(fā)動(dòng)作中重寫或重定向路徑中$變量的個(gè)數(shù)保持一致。轉(zhuǎn)發(fā)動(dòng)作中重寫或重定向的路徑中需要包含
${1}
、${2}
、${3}
中的一個(gè)或多個(gè),且這三個(gè)變量不支持使用其他字符代替。
替換原理
路徑匹配:客戶端發(fā)送請求,并匹配到某一條路徑轉(zhuǎn)發(fā)規(guī)則的正則表達(dá)式。
提取與替換:按照正則表達(dá)式的規(guī)范提取,將前三個(gè)半角圓括號
( )
提取出來的內(nèi)容分別保存至${1}
、${2}
、${3}
中,用于在轉(zhuǎn)發(fā)動(dòng)作的重寫或重定向路徑中替換。拼接:按照轉(zhuǎn)發(fā)動(dòng)作中重寫或重定向路徑的配置,對其中的
${1}
、${2}
、${3}
進(jìn)行值的替換,最終拼接成重寫或重定向的實(shí)際路徑。
編號
步驟
示例
1
配置轉(zhuǎn)發(fā)規(guī)則中的轉(zhuǎn)發(fā)條件和轉(zhuǎn)發(fā)動(dòng)作。
轉(zhuǎn)發(fā)條件路徑:
/sys/(.*)/(.*)/aaa
轉(zhuǎn)發(fā)動(dòng)作重寫或重定向路徑:
/${1}/${2}
2
客戶端發(fā)送請求,并匹配路徑。
客戶端發(fā)送的請求路徑:
/sys/ccc/bbb/aaa
匹配到的轉(zhuǎn)發(fā)條件路徑:
/sys/(.*)/(.*)/aaa
3
提取與替換
按照正則表達(dá)式規(guī)范,轉(zhuǎn)發(fā)條件路徑中的兩個(gè)
(.*)
分別提取到ccc
和bbb
,并分別保留至轉(zhuǎn)發(fā)動(dòng)作中重寫或重定向路徑中的${1}和${2}。${1}
替換為ccc
${2}
替換為bbb
4
拼接路徑
后端服務(wù)器接收到的路徑:
/ccc/bbb
配置示例
您可以根據(jù)注意事項(xiàng)和替換原理,在控制臺(tái)上添加轉(zhuǎn)發(fā)規(guī)則。轉(zhuǎn)發(fā)規(guī)則配置示例如下:
示例1:轉(zhuǎn)發(fā)動(dòng)作為重寫和轉(zhuǎn)發(fā)至
類別
說明
如果以下條件全部匹配
路徑正則匹配
匹配說明
請求的路徑和設(shè)定的路徑根據(jù)正則表達(dá)式匹配。
輸入條件
只允許包含大小寫英文字母、數(shù)字和
.-_/=?~^*$:()[]+|
這些特殊字符 。示例
請求的路徑:
/sys/ccc/bbb/aaa
區(qū)分大小寫:正則匹配輸入
/sys/(.*)/(.*)/aaa
時(shí),路徑匹配成功。不區(qū)分大小寫:正則匹配輸入
/sys/(.*)/(.*)/aaa
,路徑匹配成功。
轉(zhuǎn)發(fā)動(dòng)作
重寫
域名:
${host}
路徑:
/${1}/${2}
查詢:
${query}
轉(zhuǎn)發(fā)至
在服務(wù)器組列表中選擇目標(biāo)服務(wù)器組。
示例2:轉(zhuǎn)發(fā)動(dòng)作為重定向
類別
說明
如果以下條件全部匹配
路徑正則匹配
匹配說明
請求的路徑和設(shè)定的路徑根據(jù)正則表達(dá)式匹配。
輸入條件
只允許包含大小寫英文字母、數(shù)字和
.-_/=?~^*$:()[]+|
這些特殊字符 。示例
請求的路徑:
/sys/ccc/bbb/aaa
區(qū)分大小寫:正則匹配輸入
/sys/(.*)/(.*)/aaa
時(shí),路徑匹配成功。不區(qū)分大小寫:正則匹配輸入
/sys/(.*)/(.*)/aaa
,路徑匹配成功。
轉(zhuǎn)發(fā)動(dòng)作
重定向
協(xié)議:
$protocol
域名:
${host}
端口:
${port}
路徑:
/${1}/${2}
查詢:
${query}
狀態(tài)碼:
301
相關(guān)文檔
如果您需要為ALB監(jiān)聽配置其他監(jiān)聽轉(zhuǎn)發(fā)規(guī)則,請參見配置監(jiān)聽轉(zhuǎn)發(fā)規(guī)則。