当服务器停机维护时重定向,并在服务器恢复时重新重定向?

当服务器停机维护时重定向,并在服务器恢复时重新重定向?

我有一个主要生产服务器托管多个域名,分别称为 site1.com、app.site1.com 和 shop.site1.com (我使用 nginx 作为 Web 服务器)。

当主生产服务器(site1.com)关闭时(出于维护、当我进行升级时,或者当某些东西直接失败时),我想要重定向到另一个域,比如maintenance.site2.com。

我已经看到几篇帖子提到了基于 Windows 服务器的此领域的解决方案,但是,我在多个云提供商(digitalocean 和 vultr)上运行所有 Linux 服务器。

不幸的是,我工作的公司使用 goDaddy 作为他们的注册商,它不仅速度慢,而且在文档方面也有点复杂。另一个注意事项:我的所有云提供商都有自己的 DNS,这可能有助于这种配置(目前我没有使用它,纯粹是因为我担心我会破坏某些未知的 goDaddy 服务,而这些服务可能有人在使用,也可能没有人使用 - 比如 LDAP 或类似的东西)。

我是我公司“技术”基础设施的唯一成员,DNS 不是我的强项。有人能告诉我我正在寻找的解决方案的方向吗?恐怕我没有合适的 Google 关键字来找到解决方案。

所以,我的问题正是这样的:当我的主要生产服务器关闭时,我如何将我的 DNS 指向另一个域上的简单静态站点,然后在主域再次激活后指向回来?

答案1

  1. 构建一个haproxy盒子。这将为您带来高可用性以及大量方便的统计数据。
  2. 在您的应用中创建健康检查。
  3. 让 haproxy 使用健康检查。
  4. 将两台服务器放在同一个后端池中。维护服务器应该有该backup标志,以便仅在主服务器关闭时使用。
  5. hosts使用某些桌面上的文件进行测试。
  6. 将 DNS 指向haproxy框。
  7. 然后您就不必再担心一直更新 DNS。

答案2

DNS 注册商和 DNS 服务提供商可以不同。使用 AWS Route53 和故障转移路由,可与 AWS 服务器和其他提供商服务器配合使用。当主服务器发生故障时,它会将您的客户端故障转移到另一台服务器。这样,您就无需为额外的服务器付费来进行路由。

还有其他服务可以做类似的事情 - 我怀疑 CloudFlare 也是这样。

相关内容