我的觀點:
- 用戶更改其網站的DNS記錄指向您的服務器的IP地址。完成該操作後,每個到其域的HTTP請求都將被您的IP地址和應用程序「抓住」(然而,您應該重新配置HTTP服務器)。
- 每個HTTP請求都包含
Host
標頭。該頭允許我們做虛擬主機這樣的事情:許多和許多主機只能指向一個IP;
- 在您的應用程序中,只需從請求中提取
Host
並使用此主機查詢您的數據庫。
- 刷新他的頁面內容,就這些了。
例如,你的服務的IP是100.100.100.100,我的域名是redsocks.com。我需要將我的域的DNS(一條記錄)更改爲指向您的IP。據說,我做到了。
當我指出我的瀏覽器我的域名,瀏覽器提出了以下要求(或相似)自己的IP,而不是我:
GET/HTTP/1.1
Host: redsocks.com
...
您的應用程序代碼(僞),該交易與我的要求:
user = User.find_by_domain(REQUEST["Host"])
if user == nil
render_not_found_page
else
contents = Content.get_contents_of_user(user)
render_contents_of_user contents
end
而且我看到我的網站在您的服務在我的域名。