haproxy - 后端服务器宕机后如何禁用haproxy

标签 haproxy

你能帮我解决这个问题吗?我已经安装了 haproxy 负载均衡器。它工作完美,但问题是其他的。当应用程序在没有负载均衡器的情况下直接连接到后端服务器并且服务器已关闭时,应用程序会说“正在尝试重新连接” - 这很好,因为用户知道服务器已关闭。但是 wenn 应用程序已连接到负载均衡器并且服务器已关闭,应用程序保持打开状态并且不会说“尝试重新连接”。这是因为应用程序直接连接到 haproxy,并且应用程序认为连接一切正常。您是否有任何想法如何在所有后端服务器关闭时禁用 haproxy 或关闭服务,当然当某些服务器启动时,haproxy 也启动

最佳答案

我认为您问的问题与How can I make HAProxy reject TCP connections when all backend servers are down相同。

如果后端服务器关闭,您希望明确拒绝连接:

acl site_dead nbsrv lt 1
tcp-request reject if site_dead

或者acl site_dead nbsrv(backend_name) lt 1,其中backend_name是不同后端的名称。

nbsrv documentation

acl documentation

tcp-reject documentation

关于haproxy - 后端服务器宕机后如何禁用haproxy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16692135/

相关文章:

node.js - HAProxy 配置 - 如何使 TCP 连接保持粘性(Node.js、socket.io、websocket、FlashSocket)

ios - HAProxy 粘性 session Node.js iOS Socket.io

ssl - 使用haproxy的http请求到https请求

Docker-Compose 无法复制 haproxy.cfg

mysql - PgPool 类似 MySQL 的故障转移 - 目前使用 HAProxy

linux - 子域重定向到 haproxy 中的同一后端

http - 在 nginx 中处理 OPTIONS 请求

configuration - 所有后端服务器都必须启动 haproxy 吗?

docker - 使用Letsencrypt的Docker HAProxy SSL终止

apache - haproxy 和 apache tomcat 堆栈上的 HTTP/2 使用