問題描述

我很好奇 web-applications 如何能夠為新使用者立即建立 sub-domains,例如 newuser.wordpress.comexample.blogspot.com 。如果我需要為網站建立一個新的子域,通常需要我登入到 DNS 控制面板並手動建立一個子域。

我已經閱讀了有關萬用字元 DNS 和子域名的示例,但似乎沒有回答關於登入使用者如何建立自己的子域的問題。我想象使用.htaccess 檔案可以重寫 URL 來載入與特定使用者關聯的子資料夾。

我將考慮的解決方案是使用像 Amazon Route 53 這樣的服務,並使用 API​​建立新的子域。我不知道這是否被認為是一個很好的解決方案。

另外,Tumblr 允許您將您的域名指向其 IP 地址或 「domains.tumblr.com」 。這是否意味著 Tumblr 有自己的域名伺服器來處理這些請求?

最佳解決方案

你是對的,訣竅是萬用字元 DNS 條目 (用星號表示) 。基本上它是一個 DNS 條目,將匹配所有沒有特定 DNS 條目的子域。那麼”routing” 發生在應用程式/網站端。沒有為子域建立實際的 DNS 條目,因為 DNS 請求時發現”match” 的原因是 DNS 伺服器返回域的萬用字元 DNS 條目的 IP 地址。

要看現實世界中的一個例子,您可以看一下 Wordpress Multisite 如何使用萬用字元 DNS 條目 (注意:許多共享託管提供商將不允許您建立萬用字元 DNS 條目) 。因為”routing” 正在應用程式發生,而不是 DNS 級別,它還允許您將自定義域對映到 sub-domains(如果您願意的話)(就像他們在 wordpress.com 上提供的) 。

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。