为使用rails 4,nginx和passenger的用户设置自定义域

我有一个使用子域的Rails应用程序,允许用户在CMS系统中拥有自己的独立数据。 基本上像一个SaaS CMS系统,如wordpress.com或tumblr.com。

不过,我想让用户能够select自己的域(他们的子域的别名)。 例如,用户henrik.cmsdomain.com希望拥有一个读取henrikswebsite.com的自定义域。

我怎样才能做到这一点? 我是否需要设置自己的名称服务器? 我不一定要find完整的答案,我只是不知道从哪里开始。

我在nginxpassengerRails 4postgresql (使用模式来分离用户数据)的Ubuntu 13.10 digitalocean服务器上nginx

你在找什么叫做“虚拟子域”(我认为)。 以下是关于如何设置它们的一些信息:

您基本上需要在您的DNS中设置一个“通配符”子域(它将将所有子域请求路由到您的应用程序),并让路由中间件处理请求(相应的路由)


考虑到更新,我有一个在线看你:

  • Rails路由来处理单个应用程序中的多个域

我没有直接的经验,但我想说,你首先需要得到的域指向您的网站(与CNAME的变化)。 这可能会被路由中间件(如上面的链接所述)捕获,从而允许您相应地“路由”请求

Heroku做这个确切的事情 – 这是相当普遍的