【背景痛点】
华北用户访问香港服务延迟高达300ms+,需通过北京跳板机转发请求,同时保障香港节点故障时自动切换。
【架构设计】
拓扑结构
graph LR
A[用户] --> B(北京Nginx)
B --> C{负载决策}
C -->|正常请求| D[香港服务器]
C -->|超时/故障| E[北京备服]
D --> F[香港内网穿透]
E --> G[本地服务]
核心逻辑
proxy_next_upstream实现超时自动切换keepalive长连接降低TCP握手开销【核心配置】
# Nginx upstream 配置(/etc/nginx/conf.d/proxy.conf)
upstream backend {
# 主节点:香港公网IP (权重优先)
server 203.0.113.10:443 weight=5 max_fails=3 fail_timeout=30s;
# 备节点:北京内网穿透 (长连接优化)
server 192.168.1.100:8080 backup;
keepalive 32;
}
server {
listen 443 ssl;
location / {
proxy_pass <https://backend>;
proxy_next_upstream error timeout http_502; # 故障切换条件
# 连接优化参数
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_connect_timeout 2s;
}
}
【结论】
该架构将华北用户延迟从300ms降至80ms,故障切换时间<3s,实现低成本跨地域高可用。