問題描述
我很好奇 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。