我在单独的 (L-4) 负载均衡器后面运行 nginx 服务器,该服务器基本上只提供静态文件并将请求转发到下游 Web 服务器。只要所有服务都在运行,这就可以很好地工作。
问题是,如果下游 Web 服务器发生故障,我希望 nginx 停止接受所有请求(这样负载均衡器就会注意到它已关闭)。可以这样做吗?根据 nginx 文档,如果上游组中只有一台服务器(例如 localhost),则 max_failures 设置将被忽略,这意味着 nginx 将继续将请求转发到死机应用服务器。我是否可以告诉 nginx 在发生一定次数的故障后停止一切?
编辑使用 L4 负载平衡
答案1
告诉负载均衡器检查转发到后端服务的 URL。TCP 检查或请求静态文件是不够的。