HAProxy 专注 L4/L7 负载均衡,健康检查、会话保持和 ACL 能力强;Nginx 兼顾 Web 服务、静态资源和反向代理。纯负载均衡优先 HAProxy,Web 与反代一体优先 Nginx,两者也可以组合。
| 维度 | HAProxy | Nginx |
|---|---|---|
| 定位 | 专业负载均衡器 | Web 服务器 + 反向代理 |
| 四层代理 | 原生强项 | stream 模块支持 |
| 健康检查 | 丰富,主动/被动 | 被动为主,需额外模块 |
| 配置 | 专用语法,backend/frontend 清晰 | 指令式,server/location |
| 动态变更 | runtime API/socket | reload 配置 |
| 静态文件 | 不是重点 | 强项 |
| 可观测性 | stats 页面和指标丰富 | 日志/状态模块 |
haproxy -c -f /etc/haproxy/haproxy.cfg
nginx -t
frontend/backend/listen 语义要分清;ACL 顺序影响匹配。upstream 默认被动检查,故障发现比 HAProxy 慢。haproxy — 负载均衡nginx — Web 与反向代理keepalived — VIP 高可用