# 转发策略
#### 转发策略概述
您可以通过给独享型负载均衡添加转发策略，将来自不同域名或者不同路径的请求转发到不同的后端服务器组处理，便于灵活分流业务，合理分配资源。
转发策略由**转发规则** 和**转发动作** 两部分组成，参见[表1]。
 表1转发策略支持的规则与动作 
| 策略分类  | **转发规则**                           | **动作**                                                   |
|:---|:---|:---|
| 转发策略    | 域名、路径。                            | 转发至后端服务器组、重定向至监听器（仅HTTP监听器支持）。                           |
| 高级转发策略 | 域名、路径、HTTP请求方法、HTTP请求头、查询字符串、网段。 | 转发至后端服务器组、重定向至监听器、重定向至URL、返回固定响应、重写、写入Header、删除Header、限速。 |
   
![](https://support.huaweicloud.com/usermanual-elb/public_sys-resources/note_3.0-zh-cn.png)
独享型负载均衡开启"高级转发策略"功能后，请参考[管理高级转发策略](https://support.huaweicloud.com/usermanual-elb/elb_ug_jt_060303.html)配置高级转发策略。
#### 匹配原理
- 在添加了转发策略后，负载均衡器将按以下规则转发前端请求：
  - 如果能匹配到监听器的转发策略，则按该转发策略将请求转发到对应的后端服务器组。
  
  - 如果不能匹配到监听器的转发策略，则按照默认转发策略将请求转发到监听器默认的后端服务器组（创建监听器时配置的后端服务器组）。
  
  - 一条转发策略的转发规则中添加了域名和路径时，请求需同时满足域名和路径的条件，才能匹配到该条转发策略。
   
- 独享型负载均衡器未开启"高级转发策略"时的匹配优先级如下：
  - 当请求同时满足转发动作分别为域名和路径的两条转发策略时，优先按照域名进行匹配，如[表2]。
  
  - 不同域名间优先级互相独立。
  
  - 转发规则为路径时，匹配优先级如下：精确匹配 \> 前缀匹配 \> 正则匹配，匹配类型相同时路径长度越长，优先级越高。
   
 表2转发策略示例 
| 访问请求            | 转发策略 | 转发规则 | 设定值         |
|:---|:---|:---|:---|
| www.elb.com/test | 1     | 路径    | /test          |
| www.elb.com/test | 2    | 域名    | www.elb.com |
   
![](https://support.huaweicloud.com/usermanual-elb/public_sys-resources/note_3.0-zh-cn.png)
如[表2]中，访问请求www.elb.com/test同时满足转发策略1和转发策略2，优先按照域名进行匹配，则请求将按照转发策略2进行转发。
#### 约束与限制
- 此功能目前仅支持协议类型为HTTP、HTTPS的监听器。
- 负载均衡控制台不支持创建相同的转发策略。
- 一个监听器最多支持配置100条转发策略，超过配额的转发策略不生效。
- 配置转发策略时，请注意以下事项：
  - 转发规则支持路径，不支持查询字符串。如果您的路径设置为/path/resource?name=value，该条转发策略将失效。
  
  - 每个路径需要存于后端服务器（即必须是后端服务器上真实存在的路径），否则访问后端服务器时，后端服务器会返回404。
  
  - 因为正则匹配采用顺序匹配的方式，只要任意规则匹配成功就结束匹配。所以配置"路径匹配规则"为"正则匹配"的多个匹配规则时，规则之间不能重叠。
  
  - 不能配置路径完全相同的转发策略。
  
  - 输入的域名总长度不能超过100个字符。
   
 
#### 添加转发策略
1. 进入[弹性负载均衡列表页面](https://console.huaweicloud.com/vpc/?locale=zh-cn#/elb/list)。
2. 在弹性负载均衡列表页面，单击需要添加转发策略的负载均衡器名称。
3. 在"监听器"页签，您可以通过以下两种操作入口，进入监听器的"转发策略"页签。
   - 在目标监听器所在行的"转发策略"列，单击"添加/编辑转发策略"。
   
   - 单击目标监听器的名称，并切换到"转发策略"页签。
    
4. 单击"添加转发策略"按钮。参考[表3]配置参数。
    表3添加转发策略的参数 
   | 参数                     | 类型      | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | 样例          |
   |:---|:---|:---|:---|
   | 如果**转发规则**      | 域名        | 触发转发的域名，仅支持精确域名。 域名或者路径至少要指定一个。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | www.test.com |
   | 如果**转发规则**      | 路径        | - 匹配说明 触发转发的路径。路径由英文字母、数字和特殊字符_\~';@\^-%#$.\*+?,=!:\|\\/()\[\]{}组成。   - 匹配方式 - 精确匹配：请求的路径和设定路径完全一致，只能由/开头。  - 前缀匹配：请求的路径匹配已设定路径的开头，只能由/开头。  - 正则匹配：请求的路径和设定的路径正则表达式匹配。     | /login.php   |
   | 然后**转发** **动作**  | 转发至后端服务器组 | 如果请求与配置的转发规则匹配，则将请求转发至配置的后端服务器组。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | -           |
   | 然后**转发** **动作**  | 重定向至监听器     | 如果请求与配置的转发规则匹配，则将请求重定向至配置的监听器。 仅HTTP监听器支持配置该动作类型。 说明： 选择"重定向至监听器"后，除访问控制以外原HTTP监听器的配置会失效，将以重定向至的HTTPS监听器的配置进行转发。                                                                                                                                                                                                                                                                                                                                                                                                                                 | -             |
      
   
5. 配置完成，单击"保存"。
 
#### 相关文档
- [高级转发策略概述](https://support.huaweicloud.com/usermanual-elb/elb_ug_jt_060301.html)
- [管理高级转发策略](https://support.huaweicloud.com/usermanual-elb/elb_ug_jt_060303.html)
- [配置相同域名不同路径的转发策略实现精准转发](https://support.huaweicloud.com/bestpractice-elb/elb_bp_1017.html)
 
