七层监听器支持配置基于域名和URL的转发规则,能够将访问不同域名和URL的请求分流到不同的后端资源。您可以为1个监听器配置多条转发规则。
说明
2021年8月30日后:
域名支持精确域名和泛域名两种配置方式。
www.test.com
*.test.com
、www.test.*
www.*.com
、*.test.*
、*.*.com
、*aaa.com
URL路径以/
开头,例如/
、/abc/read
,不配置时默认为/
。
您可以根据业务需要,选择仅配置域名、仅配置URL或者同时配置域名和URL。
若仅配置域名,则URL默认为“/”,表示用于转发匹配该域名的任意URL的请求。例如,域名配置为www.test.com
, 那么访问www.test.com/lb/
或 www.test.com/lb/create
的请求都允许匹配该条转发规则。
若仅配置URL,则域名默认为空,表示用于转发匹配该URL的任意域名的请求。例如,URL配置为/lb
, 那么访问www.test.com/lb
或 www.test.cn/lb
的请求都允许匹配该条转发规则。
若同时配置域名和URL,则表示用于转发当前配置的域名及URL的请求。
七层监听器接收到请求时,根据转发规则的配置,依次匹配域名、URL后转发到对应的后端服务器组。匹配规则如下:
如果存在匹配的域名,则继续匹配URL,按照最长匹配原则匹配。
如果没有匹配的域名,则继续匹配「无域名仅URL路径」的转发规则,按照最长匹配原则。
说明
转发规则域名匹配时不区分大小写,URL匹配区分大小写,为七层监听器配置转发规则时,请根据实际URL的大小写正确配置。
例如,某个七层监听器中依次配置了如下转发规则:
域名 | URL | 转发动作 |
---|---|---|
- | / | 转发至默认后端服务器组RS0 |
- | /lb | 转发至RS1 |
- | /abc/create | 转发至RS2 |
www.test.com | / | 转发至RS3 |
*.test.com | /lb/create | 转发至RS4 |
example.test.* | /lb/create | 转发至RS5 |
那么,如下请求的匹配规则如下:
请求 | 匹配后端服务器组 | 说明 |
---|---|---|
www.test.com/ | RS3 | 域名精确匹配且URL完全匹配,转发到RS3。 |
www.test.com/lb | RS3 | 域名精确匹配,URL根据最长匹配原则匹配,转发到RS3。 |
example.test.com/lb/create | RS4 | 泛域名匹配*.test.com,URL完全匹配,转发到RS4。 |
example.test.com/lb/create/abc | RS4 | 泛域名匹配*.test.com,URL根据最长匹配原则匹配,转发到RS4。 |
clb.test.com/abc | - | 泛域名匹配*.test.com,未匹配到URL,报错404(因为请求URL非根目录)。 |
clb.test.com/ | - | 泛域名匹配*.test.com,未匹配到URL,报错403(因为请求URL为根目录)。 |
www.test.cn/lb | RS1 | 未匹配到域名,完全匹配无域名转发规则的URL,转发到RS1。 |
test.com/abc/create/lb | RS2 | 未匹配到域名,根据最长匹配原则匹配无域名转发规则的URL,转发到RS2。 |
www.b.com/ab | RS0 | 未匹配到域名和URL,转发到默认后端服务器组RS0。 |