Linux

當伺服器停機進行維護時重定向並在啟動時返回?

  • October 1, 2017

我有一個託管多個域的主生產伺服器,分別稱為 site1.com、app.site1.com 和 shop.site1.com(我使用 nginx 作為 Web 伺服器)。

我想重定向到另一個域,例如,maintenance.site2.com,當主要生產伺服器 (site1.com) 關閉時(為了維護,當我進行升級時,或者當某些事情直接失敗時)。

我已經看到幾篇文章在這個領域提到了基於 Windows 的伺服器的解決方案,但是,我在多個雲提供商(digitalocean 和 vultr)上執行所有 Linux 伺服器。

不幸的是,我工作的公司使用 goDaddy 作為他們的註冊商,不僅速度慢,而且在文件方面也有點複雜。另一個注意事項:我所有的雲提供商都有他們自己的 DNS,這可能有助於這種配置(我目前沒有使用它,純粹是因為擔心我會破壞一些未知的 goDaddy 服務,有人可能會或可能不會使用 - 考慮 LDAP 等)。

我是我公司“技術”基礎設施的唯一成員,DNS 不是我的強項。有人可以指出我正在尋找的解決方案的方向嗎?恐怕我只是沒有正確的Google關鍵字來找到解決方案。

所以,我的問題就是這樣:當我的主生產伺服器關閉時,我如何將我的 DNS 指向另一個域上的簡單靜態站點,然後一旦主域再次處於活動狀態,再指向回來?

  1. 建立一個haproxy盒子。這將為您提供高可用性以及大量方便的統計資訊。
  2. 在您的應用中創建健康檢查。
  3. 讓 haproxy 使用健康檢查。
  4. 將兩台伺服器放在同一個後端池中。維護伺服器應該有這個backup標誌,所以它只在主伺服器關閉時使用。
  5. hosts使用某個桌面上的文件對此進行測試。
  6. 將 DNS 指向該haproxy框。
  7. 然後,您就不必一直擔心更新 DNS。

DNS Registrar 和 DNS 服務提供商可以不同。將 AWS Route53 與故障轉移路由一起使用,它適用於 AWS 伺服器和其他提供商伺服器。當主伺服器關閉時,它會將您的客戶端故障轉移到另一台伺服器。這樣,您無需支付額外的伺服器來進行路由。

還有其他服務可以做類似的事情——我懷疑 CloudFlare 也可以。

引用自:https://serverfault.com/questions/876321