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

我有一个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确实做了这件事-这很常见

相关文章

文章浏览阅读3.7k次,点赞2次,收藏5次。Nginx学习笔记一、N...
文章浏览阅读1.7w次,点赞14次,收藏61次。我们在使用容器的...
文章浏览阅读1.4k次。当用户在访问网站的过程中遇到404错误时...
文章浏览阅读2.7k次。docker 和 docker-compose 部署 nginx+...
文章浏览阅读1.3k次。5:再次启动nginx,可以正常启动,可以...
文章浏览阅读3.1w次,点赞105次,收藏182次。高性能:Nginx ...