显然,应该在专门用于停机页面的 Web 服务器上设置停机页面。该页面应包含简短描述,并以 HTTP 状态 503 进行传输。
假设我们有负载均衡器和一些 Web 服务器。在两种情况下应开始停机:
- 计划的技术支持
- 真实停机,Web 服务器不可用
解决方案之一是从负载均衡器进行重定向。如果 Web 服务器宕机或不可用,HAProxy 如何处理并将所有请求发送到另一台服务器上的宕机页面?
答案1
您可以在 haproxy 配置文件中的服务器行中指定备份服务器,例如
服务器R1 127.0.0.1:9081备份
在这种情况下,当所有服务器都关闭(健康检查失败)或所有服务器都处于维护模式时,绑定到本地计算机上端口 9081 的 Web 服务器将提供内容。您可以运行一个轻量级辅助 Web 服务器(例如 nginx),仅用于托管维护页面。
您可以通过向统计套接字发送命令来有意将服务器置于维护模式,假设您已经配置了如下命令:
全球的
统计套接字 /var/run/haproxy.stat 模式 600 级别管理员
那么你的命令将会是这样的:
echo“禁用服务器yourbackendname / yourservername”| socat stdio /var/run/haproxy.stat
但请注意,以上内容需要socat
安装。
答案2
您可以像平常一样配置 haproxy 和您的服务器,它将在它们之间平衡请求负载。为停机页面提供服务的另一台服务器应backup
在 haproxy 中配置为服务器。
backup
仅当所有服务器都关闭时,才会使用该服务器。haproxy 可以监控 Web 服务器的运行状况,因此它知道何时有服务器关闭。