nginx健康检查upstream
使用nginx中的upstream
字段可以实现在主服务器挂掉的时候,将流量转发到备用服务器上,实现生产环境的高可用。
1
2
3
4
upstream primary_yudao {
server yudao-server:48080 max_fails=3 fail_timeout=10s;
server test.zmingzhikeji.cn:443 backup;
}
backup
字段表示只有在主服务器不可用的时候才会启用。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
server {
listen 80;
server_name www.zmingzhikeji.cn zmingzhikeji.cn;
location /infra/ws {
proxy_pass http://primary_yudao/infra/ws;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
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_set_header X-Forwarded-Proto $scheme;
}
# 将所有其他 HTTP 请求重定向到 HTTPS
location / {
return 301 https://$server_name$request_uri;
}
}
这样配置一个服务块之后,在server块中使用服务名进行引用,然后记得在备用服务器上的nginx增加监听server_name,否则nginx无法正确路由到正确的路径。
本文由作者按照
CC BY 4.0
进行授权