请求,以验证其是否能正常响应。这个功能被称为健康检查。
健康检查可以通过配置 nginx.conf 文件实现。例如,下面的配置将每 5 秒检查一次后端服务是否健康:
http {
upstream backend {
server backend1.example.com;
server backend2.example.com;
server backend3.example.com;
keepalive 15;
# 健康检查配置
health_check interval=5s;
}
server {
listen 80;
location / {
proxy_pass http://backend;
}
}
}
具体来说,health_check interval=5s
表示检查间隔为 5 秒(可以用 interval
参数指定),默认使用 HTTP HEAD 请求(可以用 method
参数指定),超时时间为 5 秒(可以用 timeout
参数指定),连续 2 次检查失败则认为服务不可用(可以用 fails
参数指定)。当服务不可用的时候,nginx 会自动将其从负载均衡池中移除,并尝试尝试将请求转发给其他健康的节点。当服务检查成功时,nginx 会自动将其重新加入负载均衡池中。