Ruby on rails 如何让用户的域名指向我的网站中的个人资料

Ruby on rails 如何让用户的域名指向我的网站中的个人资料,ruby-on-rails,dns,appdomain,Ruby On Rails,Dns,Appdomain,我想通过让用户选择域名指向他们的个人资料来实现Tumblr或Wordpress之类的功能。对于实例,用户转到他们的域注册器和我的服务器的IP,因此:www.usersdomain.com将指向www.mysite.com/userid,而不实际转发,这样域名仍将显示在地址栏中 我希望你能详细描述这样做的步骤 我正在使用RubyonRails,如果这有什么不同的话。我的生产环境有Nginx和Passenger。我的观点: 用户更改其站点的DNS记录以指向服务器的IP地址。在该操作之后,对其域的每个

我想通过让用户选择域名指向他们的个人资料来实现Tumblr或Wordpress之类的功能。对于实例,用户转到他们的域注册器和我的服务器的IP,因此:www.usersdomain.com将指向www.mysite.com/userid,而不实际转发,这样域名仍将显示在地址栏中

我希望你能详细描述这样做的步骤

我正在使用RubyonRails,如果这有什么不同的话。我的生产环境有Nginx和Passenger。

我的观点:

  • 用户更改其站点的DNS记录以指向服务器的IP地址。在该操作之后,对其域的每个HTTP请求都将被您的IP地址和应用程序“捕获”(不过,您应该重新配置HTTP服务器)
  • 每个HTTP请求都包含
    主机
    头。这个头允许我们创建虚拟主机:许多主机只能指向一个IP
  • 在您的应用程序中,只需从请求中提取
    主机
    ,并查询您的数据库以查找使用该主机的用户
  • 刷新他的页面内容,仅此而已
    例如,您服务的IP是100.100.100.100,我的域名是redsocks.com。我需要更改我域的DNS(A记录)以指向您的IP。应该是的

    当我将浏览器指向我的域时,浏览器会向您自己的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
    
    我在你的服务中看到了我自己的网页