弹性负载均衡 ELB-高级转发策略概述:转发动作的路径支持URL的正则表达式示例

时间:2024-04-03 09:09:01

转发动作的路径支持URL的正则表达式示例

转发动作“重定向至URL”和“重写”中的路径由英文字母、数字和特殊字符_~';@^-%#&$.*+?,=!:|\/()[]{}组成,只能由/开头。${path}表示与源路径相同。

转发规则选择URL的正则匹配后,转发动作的路径支持正则表达式替换。

路径替换流程

  1. URL匹配:客户端发送请求,并匹配到某一条URL转发规则的正则表达式。URL中支持写入一个或多个正则表达式,支持写入多个()。
  2. 路径按照正则表达式的规范提取替换变量:转发动作中的路径通过$1来获取( )中的变量,最多可以获取九个变量至$9。
  3. 自由组合出目标路径:获取的变量对路径设置中的$1进行替换,最终拼接成重写或重定向的实际路径。

路径替换示例

当客户端发送请求的路径为/test/ELB/elb/index时,匹配转发规则的转发条件/test/(.*)/(.*)/index,经转发路径/$1/$2提取变量后,最终后端服务器接收到的请求路径为/ELB/elb。

表6 路径支持URL的正则表达式替换示例

匹配动作

说明

转发规则:URL

正则匹配

  • URL正则匹配条件:/test/(.*)/(.*)/index
  • 匹配成功的请求URL:/test/ELB/elb/index

转发动作:重写或重定向至URL

路径

  • 路径替换条件:/$1/$2
  • 提取替换变量

    $1:提取出ELB

    $2:提取出elb

  • 目标路径:/ELB/elb
support.huaweicloud.com/usermanual-elb/elb_ug_jt_060301.html