強大而靈活的 DNS A 記錄託管
我目前正在開發一個網路平台,該平台將用於為許多小型網站提供動力。所有網站都將託管在該平台上,無論是專用還是 VPS 設置。我不想提供完整的 DNS 託管服務,也不想負責路由電子郵件等,我只想負責域的“網站”部分。
顯而易見的解決方案是將域的“www”A 記錄指向我的伺服器 IP,這將產生預期的效果。但是,如果我的伺服器當機並且我需要將所有站點切換到具有不同 IP 的不同伺服器上的備份,該怎麼辦?我需要聯繫所有不同域的所有 DNS 提供商,並讓他們重新指向他們的 A 記錄。這是不可取的。
所以……問題是,是否有一種明智的方法來處理這樣的事情,或者我最好還是硬著頭皮通過 Cloudfare 或 DYN 等專用服務提供完整的 DNS 服務?
感謝您提供任何建議/解決方案。
我不確定我是否會將其描述為健壯的。這將涉及多個後端伺服器、前端的一對負載平衡器故障轉移、一個具有非 HA 版本的備份站點,以及在發生足夠大的災難時可以在站點之間切換的 IP 地址的使用.
但是規定您希望在沒有所有這些的情況下提供網路託管,而不控制客戶的 DNS,但保留在需要時將操作重新指向第二個站點的能力,而無需聯繫所有客戶讓他們更新其 DNS,這是一種方法和
CNAME
s 一起做。為了澄清起見,假設您的伺服器位於A
記錄指向的 IP 地址上server.example.com
。假設您有兩個客戶,其域名是example.org
和example.net
。每個客戶端都會
CNAME
為其 www 主機名發布一條記錄,指向您的伺服器:www.example.org. IN CNAME server.example.com. www.example.net IN CNAME server.example.com.
如果您需要更改伺服器的 IP 地址,您可以更改您控制的
A
記錄server.example.com
,並且在 DNS 記憶體到期的適當時間間隔後,www.example.{org,net}
將開始解析到新地址。這裡的問題是裸域。 正如圍繞這些部分所確立的那樣,您不能
CNAME
成為域的根。因此,只要客戶願意讓他們的 Web 伺服器單獨執行www.example.org
,就可以了。但是,一旦有人在 上請求 Web 服務example.org
,您就會遇到問題。然而,Michael Hampton 指出,一些大型 DNS 提供商(他明確列出了 Namecheap 和 GoDaddy,儘管這不應被視為對其中任何一個的認可)也將提供 Web 重定向服務,其中裸域上的 A 記錄指向DNS 提供商的Web伺服器,其唯一功能是接收客戶端瀏覽器請求
http://example.org/foo
並通過 HTTP 301-redirect 將它們重定向到http://www.example.org/foo
,此時已經描述的機制接管並且您的伺服器滿足請求。可以告訴堅持根植於服務的客戶,他們必須從提供此類設施的提供商處獲取 DNS。這仍然不適用於在其根目錄上也需要 HTTPS 服務的客戶端(例如,
https://example.org/bar
);如果沒有更多的基礎設施,我不知道有什麼方法可以完成這項工作。但是您應該可以按照上述方式為其他所有人提供服務。