
# 修改负载均衡算法
防护网站配置了一个或多个源站地址时，WAF支持配置多源站间的负载均衡算法。
#### 原理介绍
负载均衡算法功能，是基于7层（应用层）流量转发的辅助能力，针对HTTP/HTTPS请求的特征（如源IP、Session标识）进行流量分配，仅对已接入WAF防护的Web业务生效，不改变WAF的核心防护逻辑。
WAF接收并检测完客户端请求后，根据配置的负载均衡算法，对请求进行分配，最终将检测后的请求转发至多个源站服务器，实现源站负载分担、提升业务可用性。
图1负载均衡算法   
![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000002566330273.png "点击放大")
WAF负载均衡支持以下算法。
表1负载均衡算法 
| 算法               | 原理                                                                                                                                                                                                                                                     | 适用场景                                                                                                                                                                                                                                                                                                                                                                                                                                     | 不适用场景                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| **源IP Hash**     | 对客户端真实源IP地址进行哈希计算，再对后端源站数量取模，将同一源IP的所有请求固定分配至同一个源站，直至源站配置变更或WAF节点重启。                                                                                                                                                                                   | - 需要固定IP绑定的业务，例如需要IP白名单校验、IP溯源的管理后台。  - 对会话一致性要求较低，但需要日志集中溯源的业务，例如静态网站、API接口服务。  - 客户端出口IP分散的场景，例如个人用户访问的公众网站。                                                                                                       | 大量客户端使用相同出口IP的场景，例如企业内网用户、共享代理服务器访问，会导致某一台源站负载过高，无法实现均衡效果。                                                                                                                                                                 |
| **加权轮询**         | 为每个后端源站设置权重值，请求按照权重比例轮流分配至各源站，权重越高的源站，被分配到请求的概率越大。例如：源站A权重为80，源站B权重为20，则约80%的请求分配至源站A，20%分配至源站B。                                                                                                                                                       | - 后端源站性能不均的场景，例如部分源站配置高、部分配置低，通过权重调整流量分配。  - 多区域源站部署场景，可根据区域访问量调整权重。  - 弹性扩容/缩容场景，例如新增源站时提高权重、下线源站时降低权重，平滑过渡流量。  - 无强会话依赖的业务，例如电商商品列表、新闻资讯网站。   | 强会话依赖的业务，例如登录态、购物车，可能导致同一用户的不同请求分配至不同源站，出现会话撕裂问题。                                                                                                                                                                          |
| **Session Hash** | 基于请求中的Session标识（如Cookie、URL参数）进行哈希计算，将同一Session标识的所有请求固定分配至同一台源站，确保会话一致性。 选择该算法时，需先[配置攻击惩罚](https://support.huaweicloud.com/usermanual-waf/waf_01_0271.html)，指定Session相关的Cookie键名或URL参数名，否则Session Hash配置不生效，请求将按默认逻辑分配。 | - 强会话依赖的业务，例如用户登录、购物车操作、单点登录（SSO）系统。  - 需要保持会话上下文的业务，例如在线办公系统、支付流程。                                                                                                                                                                                                      | - 未配置流量标识的场景。  - Session标识频繁变化的业务，例如每次请求生成新Cookie，会导致分配不稳定，无法实现会话保持。   |
   
#### 约束条件
| 功能        | 约束说明                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|
| 接入方式与版本限制 | - **云模式-CNAME接入** ：仅云模式的**专业版** 、**企业版**支持该功能。  - **云模式-ELB接入**：不支持。ELB接入源站调度主体是ELB，WAF不参与回源转发，内置的源站负载均衡模块无法生效。该场景下，需通过ELB自身负载均衡功能实现多源站分配。  - **独享模式接入**：支持。   |
| 地域限制      | 以控制台实际为准。                                                                                                                                                                                                                                                                                                                                                                     |
   
#### 前提条件
[防护网站已接入WAF](https://support.huaweicloud.com/usermanual-waf/waf_01_1108.html)
#### 修改负载均衡算法
1. [登录Web应用防火墙控制台](https://console.huaweicloud.com/waf/?locale=zh-cn)。
2. 在控制台左上角，单击![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000002304713360.png)图标，选择区域或项目。
3. (可选) 如果您已开通企业项目，在左侧导航栏上方单击"按企业项目筛选"下拉框，选择您所在的企业项目。完成后，页面将为您展示该企业项目下的相关数据。
4. 在左侧导航栏，选择"资产管理 \> 防护对象"。
5. 在"防护对象"页面，单击目标防护域名。
6. 在"高级配置"区域，单击"负载均衡算法"后的"修改"，在弹出的对话框中，选择"负载均衡算法"并单击"确定"。 
   图2配置负载均衡算法   
   ![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000002535254924.png "点击放大")
   配置完成后，可通过访问业务、查看WAF访问日志，确认流量是否按配置的算法分配至各源站。
   
   
 
