我的观点:
- 用户更改其网站的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
而且我看到我的网站在您的服务在我的域名。