如果我的服务器宕机了,我该如何提供静态登陆页面?

如果我的服务器宕机了,我该如何提供静态登陆页面?

如果我的主 Web 服务器宕机(目前是 Rackspace Cloud 实例),我希望回退到静态网页。这是一种不应该发生的最坏情况,但之前确实发生过(例如 Backspace 硬件故障)。服务器冗余是最佳解决方案,但预算是个问题。因此,如果目前唯一的服务器出现问题,我正在寻找一种低成本的自动回退方法

答案1

除非您有某种使用 DNS 循环设置的第二台服务器,否则我建议您与 rackspace 联系,查看您的服务器前面是否有一个负载均衡器,可以定期检查服务可用性并在发生中断时将请求重定向到其他地方。

基本上,您对单个服务器无能为力,因为很明显您的服务中断可能是由于服务器完全丢失造成的,因此需要外部驱动。

答案2

如果唯一的服务器发生问题,我希望能够实现低成本的自动回退

常见的做法是:

  • 在某处廉价的共享主机托管计划上托管一个“抱歉,我们正在维护”页面。

  • 使用具有内置 HTTP 健康监控功能的 DNS 提供商。在正常运行期间,DNS 主机会提供主服务器 (Rackspace) 的 IP 地址。如果主服务器发生故障,DNS 提供商会提供廉价共享托管提供商的 IP。此类 DNS 提供商的示例包括 EdgeDirector、DNSMadeSimple、easyDNS。

但请注意,这是一个贫民窟解决方案。它或多或少有效,但世界各地的 DNS 缓存都会缓存您的 IP 地址,有时会缓存的时间超过指示的生存时间(缓存时间)。因此随着时间的推移失败将会很大。 多于1小时很常见无论您的 DNS 生存时间值是多少。

更好的方法是一个位于服务器前面的 HTTP 负载均衡器,带有一个后备服务器,正如 Chopper3 和 Scott Forsyth 所写。

答案3

+1,同意Chopper3的评论。

如果您在两个云服务器前设置了反向代理,则可以设置故障回复选项,又名 Sorry Server。或者,如果您发现您的应用层经常死机但服务器却不会死机,那么您甚至可以在单个机器上执行此操作。(不确定该云实例是否仅用于站点,或者您是否有权访问服务器)

在 Microsoft 领域,应用程序请求路由非常适合此目的。我相信在 Linux 领域是 Squid。

答案4

实现此目的的理想机制是WWW 浏览器中的资源记录支持。正因为如此,SRVWWW 服务器管理员近 13 年来一直在呼吁资源记录支持。当 WWW 浏览器理解资源记录时安排后备是轻而易举的事,因为只需将后备 HTTP 服务器指定为比正常 HTTP 服务器优先级更低的服务器,WWW 浏览器就会在无法访问正常服务器时采取相应行动。SRVSRV

遗憾的是,WWW 浏览器是支持滞后的领域SRV,这让一些供应商感到尴尬和羞愧。因此,人们必须采用更复杂的机制,包括动态重新路由 IP 流量,正如这里的其他几个答案所概述的那样。

相关内容