更新时间:2024-09-20 GMT+08:00

转发策略

操作场景

您可以通过给共享型负载均衡添加转发策略,将来自不同域名或者不同URL的请求转发到不同的后端服务器组处理。

例如:您可以通过添加转发策略,将视频、图片、音频、文本等请求分别转发到不同的后端服务器组上去处理,便于灵活的分流业务,合理的分配资源。

转发策略由转发规则转发动作两部分组成:

  • 支持的转发规则有:域名URL
  • HTTP监听器支持的动作类型有:转发至后端服务器组重定向至监听器
  • HTTPS监听器支持的动作类型有:转发至后端服务器组

匹配原理

  • 在添加了转发策略后,负载均衡器将按以下规则转发前端请求:
    • 如果能匹配到监听器的转发策略,则按该转发策略将请求转发到对应的后端服务器组。
    • 如果不能匹配到监听器的转发策略,则按照默认转发策略将请求转发到监听器默认的后端服务器组(创建监听器时配置的后端服务器组)。
  • 匹配优先级:
    • 不同域名间优先级互相独立,转发规则域名与URL同时存在时,优先按照域名进行匹配。
    • 转发规则为URL时,匹配优先级如下:精确匹配 > 前缀匹配 > 正则匹配,匹配类型相同时URL长度越长,优先级越高。
表1 转发策略示例

访问请求

转发策略

转发规则

设定值

www.elb.com/test

1

URL

/test

2

域名

www.elb.com

表1中,访问请求www.elb.com/test同时满足转发策略1和转发策略2,优先按照域名进行匹配,则请求将按照转发策略2进行转发。

约束与限制

  • 此功能目前仅支持协议类型为HTTP、HTTPS的监听器。
  • 负载均衡控制台不支持创建相同的转发策略。
  • 一个监听器最多支持配置100条转发策略,超过配额的转发策略不生效。
  • 配置共享型ELB的转发策略时,请注意以下事项:
    • 转发规则URL仅支持路径,不支持查询字符串。如果您的URL设置为/path/resource?name=value,该条转发策略将失效。
    • 每个URL路径需要存于后端服务器(即必须是后端服务器上真实存在的路径),否则访问后端服务器时,后端服务器会返回404。
    • 因为正则匹配采用顺序匹配的方式,只要任意规则匹配成功就结束匹配。所以配置“URL匹配规则”为“正则匹配”的多个匹配规则时,规则之间不能重叠。
    • 不能配置URL路径完全相同的转发策略。
    • 输入的域名总长度不能超过100个字符。

如果通过调用API接口创建了相同的转发策略,则会出现转发策略故障,此时即使把前面创建的转发策略删除,后面的转发策略依然会显示故障。将出现冲突的转发策略都删除后重新添加,即可恢复正常。

添加转发策略

  1. 进入弹性负载均衡列表页面
  2. 在弹性负载均衡列表页面,单击需要添加转发策略的负载均衡器名称。
  3. 在“监听器”页签,您可以通过以下两种操作入口,进入监听器的“转发策略”页签。
    • 在目标监听器所在行的“操作”列,单击“添加/编辑转发策略”。
    • 单击目标监听器的名称,并切换到“转发策略”页签。
  4. 单击“添加转发策略”按钮。参考表2配置参数。
  5. 配置完成,单击“保存”。
表2 添加转发策略的参数

参数

说明

样例

转发规则

域名

触发转发的域名,仅支持精确域名。

域名或者URL至少要指定一个。

www.test.com

URL

  • 匹配说明

    触发转发的URL路径。URL由英文字母、数字和特殊字符_~';@^-%#$.*+?,=!:|\/()[]{}组成。

  • 匹配方式
    • 精确匹配:请求的URL和设定URL完全一致,只能由/开头。
    • 前缀匹配:请求的URL匹配已设定URL开头的URL,只能由/开头。
    • 正则匹配:请求的URL和设定的URL正则表达式匹配。

/login.php

动作

转发至后端服务器组

如果请求与配置的转发规则(条件)匹配,则将请求转发至配置的后端服务器组。

转发至后端服务器组

重定向至监听器

如果请求与配置的转发规则(条件)匹配,则将请求重定向至配置的监听器。

仅HTTP监听器支持配置该动作类型。

说明:

选择“重定向至监听器”并配置监听器后,除访问控制以外原有监听器配置会失效。

例如:配置了重定向至监听器后,当客户端通过HTTP请求访问的时候,后端服务器会返回HTTPS的响应,即强制以HTTPS请求访问网页。因此实际以HTTPS监听器的配置为准向后端服务器进行转发,原有HTTP监听器的配置就无效了。

-

后端服务器组

为转发策略选择已有的后端服务器组。

“动作”选择“转发至后端服务器组”时需要设置。

-

监听器

为转发策略选择已有的监听器。

“动作”选择“重定向至监听器”时需要设置。

-

URL匹配示例

表3所示,是一个URL匹配示例,转发情况如图1所示。

表3 URL匹配示例

模式

请求URL

设定URL

-

-

/elb/index.html

/elb

/elb[^\s]*

/index.html

精确匹配

/elb/index.html

-

-

-

前缀匹配

-

-

正则匹配

-

-

图1 转发示例

以上图为例

请求的URL:/elb_gls/glossary.html先在精确匹配规则中查找,如果没有找到精确匹配的规则,则继续在前缀匹配规则中查找,找到匹配的规则2,将该请求转发到规则2对应的后端服务器组2。此时虽然请求URL和正则匹配规则中的规则3相匹配,但由于前缀匹配的优先级比较高,所以最终将请求转发至后端服务器组2。

修改转发策略

  1. 进入弹性负载均衡列表页面
  2. 在弹性负载均衡列表页面,单击需要修改转发策略的负载均衡器名称。
  3. 切换到监听器页签,单击需要修改转发策略的监听器名称。
  4. 切换到“转发策略”页签,选择需要修改的转发策略,单击“编辑”。
  5. 根据界面提示修改参数,单击“保存”。

删除转发策略

  1. 进入弹性负载均衡列表页面
  2. 在弹性负载均衡列表页面,单击需要删除转发策略的负载均衡器名称。
  3. 切换到监听器页签,单击需要删除转发策略的监听器名称。
  4. 切换到“转发策略”页签,选择需要删除的转发策略,单击“删除”。
  5. 在弹出的“删除转发策略”对话框中,单击“确定”。