应用型负载均衡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
- 匹配说明