問題描述
我很好奇 web-applications 如何能夠為新使用者立即建立 sub-domains,例如 newuser.wordpress.com 或 example.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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。