
我有一台 Windows 2008R2 伺服器,為我們公司託管 Sql Server 和 IIS。
我偶爾需要將其取下以進行更新和備份。
這是設定
專用 Windows 2008R2 伺服器託管我的 Windows 2008R2 vps Web 伺服器(這是我需要拆除的伺服器)。
當我關閉該伺服器時,我需要一種方法將網域標記為當前正在進行維護,而不是找不到主機。
該網域直接指向我的網路伺服器,因此當它出現故障時,他們看到的只是找不到主機。如果有幫助的話,該網域由 godaddy 託管。
有沒有解決的辦法?有人有建議嗎?
答案1
如果不添加另一台某種類型的伺服器,就無法解決這個問題...有多種選擇,但這一切都歸結為一種或另一種形式的伺服器冗餘。
答案2
現在你的配置是:
DNS -> Your Server
因此,您唯一可以做的就是重定向網域:
DNS -| Your Server
|-> Some Other Server Hosting 'This is Down'
不幸的是,DNS 的快取過於頻繁,以至於更新(無論是關閉您的網站還是恢復網站)可能需要相當長的時間才能傳播到各處。 DNS 記錄上的短 TTL 會有所幫助,但會稍微損害效能。
一般來說,最好的做法是在您的電腦前面安裝反向代理或負載平衡器:
DNS -> Load Balancer -> Your Server
這樣,您可以變更負載平衡器指向的位置,甚至可以讓負載平衡器本身託管「This is Down」訊息。它還為您提供了更可靠的配置,您可以在其中擁有多個伺服器:
DNS -> Load Balancer +--> Server 1
+--> Server 2
在此配置中,您可能一次只能關閉一台計算機,而根本不會關閉您的站點。
順便說一句,如果您不需要重新啟動計算機,或者您不介意網站在重新啟動時仍然會關閉,那麼您的最後一個選擇是將所有這些壓縮到一台計算機上。在電腦上執行 Nginx,使其正常代理 IIS,但在必要時顯示錯誤訊息。
答案3
您可以將 haproxy 放在 Windows 伺服器前面,透過主機狀態檢查對其進行配置,並配置「服務不可用」頁面。