ruby-on-rails-为使用Rails 4,nginx和乘客的用户设置自定义域

我有一个Rails应用程序,该应用程序使用子域来允许用户在CMS系统中拥有自己的单独数据.基本上是SaaS CMS系统,例如wordpress.com或tumblr.com.但是,我想让用户能够选择自己的域(其子域的AV别名).例如,用户henrik.cmsd...

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

但是,我想让用户能够选择自己的域(其子域的AV别名).例如,用户henrik.cmsdomain.com希望拥有一个自定义域,该域读取henrikswebsite.com.

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

我在带有nginx,passenger,Rails 4和postgresql的ubuntu 13.10 digitalocean服务器上运行(使用模式分隔用户数据).

解决方法:

您正在寻找的是所谓的“虚拟子域”(我认为).以下是有关如何设置它们的一些信息:

> http://signalvnoise.com/posts/1512-how-to-do-basecamp-style-subdomains-in-rails
> Rails Restful Routing and Subdomains

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

考虑到更新,我在线上为您看了一下:

> Rails routing to handle multiple domains on single application

我没有直接的经验,但是我要说的是,您首先需要获取域以指向您的站点(更改CNAME).然后,您的路由中间件(如上面的链接中所述)可能会捕获到该错误,从而使您可以相应地“路由”请求

Heroku确实做了这件事-这很常见

本文标题为:ruby-on-rails-为使用Rails 4,nginx和乘客的用户设置自定义域

基础教程推荐