全球加速的监听支持配置基于域名和路径的转发策略。本文为您介绍转发条件中域名和路径的配置规则,及转发动作中重写和重定向的路径增强配置规则。
转发条件的域名配置规则
域名配置规则支持精准域名、通配符域名和正则表达式域名。关于如何添加转发策略,请参见添加转发策略。
域名配置规则 | 说明 |
精准匹配及通配符 |
|
正则匹配(不区分大小写) |
|
转发条件的路径配置规则
路径配置规则支持精准路径、通配符路径和正则表达式路径。关于如何添加转发策略,请参见添加转发策略。
路径配置规则 | 说明 |
精准匹配及通配符 |
|
正则匹配(区分大小写) |
|
重写和重定向中路径的增强配置规则
转发条件的路径配置正则表达式后,转发动作中的重写和重定向的路径支持正则表达式替换。关于如何添加转发策略,请参见添加转发策略。
转发条件的路径正则配置规则,请参见转发条件的路径配置规则。
注意事项
转发条件中正则表达式中包含的半角圆括号
( )
需要与转发动作中重写或重定向路径中$
变量的个数保持一致。转发动作中重写或重定向的路径中需要包含
${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