Nginx反向代理+Keepalived VIP漂移是企业OA双机热备常用方案:Nginx负责流量分发与会话保持,Keepalived保障VIP高可用;主备节点部署相同配置,通过vrrp_script检测Nginx状态实现秒级切换。

用 Nginx 做反向代理 + 负载均衡,再配合 Keepalived 实现 VIP 自动漂移,是企业 OA 系统双机热备最常用、成本低且稳定可靠的方案。核心在于:Nginx 处理业务流量分发,Keepalived 保障入口 IP 的高可用,两者不耦合、职责清晰。
一、架构设计要点
典型双机部署(主-备模式):
- 两台服务器(如 oa-node1、oa-node2),均安装 Nginx 和 Keepalived
- Nginx 配置完全一致,后端指向真实 OA 应用节点(可单台或多台,建议至少两台应用服务器避免单点)
- Keepalived 绑定一个虚拟 IP(VIP,如 192.168.10.100),对外提供统一访问入口
- 主节点优先级更高;故障时 VIP 秒级漂移到备用节点,用户无感知刷新即可继续访问
二、Nginx 关键配置(反代 OA 后端)
确保 Nginx 正确转发请求并保持会话一致性(OA 系统通常依赖 Cookie 或 Session):
- 启用 proxy_set_header,透传客户端真实 IP:X-Real-IP 和 X-Forwarded-For
- 若 OA 使用 JSESSIONID 或 PHPSESSID,建议开启 ip_hash 或由后端做 session 共享(如 Redis 存储),避免登录态丢失
- 添加健康检查(可用 upstream 模块或第三方 check 模块),自动剔除宕机的 OA 应用节点
- 示例片段:
upstream oa_backend {
ip_hash;
server 192.168.20.10:8080 max_fails=3 fail_timeout=30s;
server 192.168.20.11:8080 max_fails=3 fail_timeout=30s;
}
server {
listen 80;
server_name oa.example.com;
location / {
proxy_pass http://oa_backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 5s;
proxy_read_timeout 60s;
}
}
三、Keepalived 核心配置(主备切换)
主节点(priority 100)、备节点(priority 90),通过 vrrp_script 定期检测 Nginx 是否存活:
- 脚本检测 Nginx 进程或端口(如 killall -0 nginx 或 curl -I http://127.0.0.1/health)
- 检测失败时降低 priority,触发 VRRP 状态重选举,VIP 自动迁移
- 注意关闭防火墙对 VRRP 协议(协议号 112)和组播地址(224.0.0.18)的拦截
- 主节点 keepalived.conf 片段示例:
vrrp_script chk_nginx {
script "/usr/bin/pgrep nginx > /dev/null"
interval 2
weight -10
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.10.100/24
}
track_script {
chk_nginx
}
}
四、验证与运维注意事项
上线前必须完成闭环测试:
- 手动 kill 主节点 Nginx,观察 VIP 是否在 2–3 秒内迁移到备机(ip addr show 查看)
- 用浏览器或 curl 访问 VIP,确认 OA 页面正常加载、登录态有效、附件上传等功能无异常
- 检查 Nginx error.log 和 Keepalived 日志(/var/log/messages),排除权限、绑定端口或网络互通问题
- 生产环境建议增加监控项:VIP 所在节点、Nginx 进程状态、后端 OA 接口响应时间
这个方案不依赖专用硬件,所有组件开源免费,适合中小型企业快速落地。关键在配置严谨、检测及时、日志可观测——容灾能力不在“多高大上”,而在“每次切换都稳得住”。











