WAF和后端负载均衡怎么配合?多台服务器怎么接

速读摘要:有多台后端服务器时,WAF 不应该直接指向某台机器,而应回源到负载均衡(SLB 或 Nginx),由它统一分发。这样扩容、下线、故障摘除都不影响 WAF 配置。本文讲清三种回源模式、真实 IP 透传和常见配置。
WAF 和负载均衡怎么配合?
WAF 部署与接入篇 · 第 39 问 · 主机吧 WAF 知识库

一、为什么不能直接回源到单台机器

如果你的业务有多台后端服务器,WAF 的源站配置直接填某一台的 IP,会带来三个问题:

  • 这台机器被打挂 → 整个网站不可用
  • 流量全部压在一台机器上 → 资源浪费
  • 扩容或下线机器 → 每次都要改 WAF 配置

正确做法是让 WAF 回源到负载均衡,由负载均衡统一管理后端。

二、典型架构

      用户
       ↓
   DNS 解析(CNAME 指向 WAF)
       ↓
  ┌─────────────┐
  │  WAF 防护层  │  ← 安全检测、CC 防护、IP 情报
  └─────────────┘
       ↓ 回源
  ┌─────────────┐
  │ 负载均衡层   │  ← SLB / Nginx / LVS
  └─────────────┘
    ↓     ↓     ↓
 后端1  后端2  后端3   ← 实际业务处理

三、三种回源模式

3.1 回源到负载均衡地址(推荐)

WAF 源站只填一个地址——你的负载均衡 IP 或域名。负载均衡负责把请求分发给后端。

  • 优点:WAF 配置稳定,后端扩缩容无需改 WAF
  • 优点:负载均衡可做健康检查,自动摘除故障节点
  • 适用:所有多机集群场景

3.2 回源到多个 IP 轮询

没有独立负载均衡时,可以在 WAF 里配置多个源站 IP,WAF 自己做轮询。

控制台 → 源站配置
  源站列表:
    115.159.82.67:443  权重 1
    115.159.82.68:443  权重 1
    115.159.82.69:443  权重 1
  负载均衡方式:轮询 / 加权轮询 / 最少连接
  • 优点:无需额外部署负载均衡组件
  • 缺点:健康检查能力较弱,故障摘除可能不及时
  • 适用:2-3 台服务器的小集群

3.3 回源到内部域名

源站填一个内部域名(如 origin.internal.com),由内部 DNS 解析到后端集群。适合后端 IP 频繁变化的容器化环境。

四、真实 IP 透传(关键)

多层代理后,后端拿到的 remote_addr 会是负载均衡或 WAF 的 IP,业务代码要拿访客真实 IP 就需要读取 XFF 头。

4.1 Nginx 配置 real_ip 模块

# 在 http 块中配置信任的代理层 IP
set_real_ip_from 182.61.129.0/24;   # WAF 回源网段
set_real_ip_from 10.0.0.0/8;         # 内网负载均衡段
real_ip_header X-Forwarded-For;
real_ip_recursive on;

# 此后 $remote_addr 即为访客真实 IP
log_format main '$remote_addr - $http_x_forwarded_for ...';

4.2 宝塔面板操作

  1. 软件商店 → 安装「Nginx」后进入配置修改
  2. 在 http 块内加入上面三行 set_real_ip_from / real_ip_header / real_ip_recursive
  3. 保存后重载 Nginx:`nginx -t && nginx -s reload`
  4. 验证:访问网站后看日志,$remote_addr 应为真实访客 IP

五、SSL 在两个层级的处理

方案做法适用
WAF 卸载 SSLWAF 解密,回源 HTTP源站在内网,最简单
WAF + LB 都持证书两段 HTTPS合规要求高
WAF 卸载,LB 再加密回源 HTTPS 到 LB内网也走加密

六、小结

WAF 和负载均衡是上下层关系:WAF 负责安全,负载均衡负责分发。核心配置原则是”WAF 只认负载均衡,不认具体后端”,配合 real_ip 透传真实访客地址。这样后端怎么扩、怎么换,都不需要动 WAF。

给TA打赏
共{{data.count}}人
人已打赏
在线客服
在线客服
热线电话
QQ客服
电子邮箱
suduwangluo