Rails,Heroku和Subdomains.我的特殊情况是否可行?

aar*_*ona 20 subdomain dns ruby-on-rails heroku

这是我的场景:

我有一个应用程序,必须支持多个客户端.每个客户端都将获得一个服务的子域.我们还将有一个没有该应用程序的手册网站,它只是一个关于该产品的网站以及潜在客户如何与我们建立帐户.

鉴于:

www.mycoolsite.com会指出Heroku上的宣传册应用程序. client1.mycoolsite.com,client2.mycoolsite.com并且client3.mycoolsite.com都指向相同的SaaS应用程序,可以告诉每个请求之间的差异,我应该能够处理所以他们只能看到他们的日期(即设置全局client_id或类似的东西)

我该怎么做呢?我没有用DNS做过很多,所以我对从哪里开始这一点很无能为力.

谢谢.

jpw*_*ynn 16

没有汗水.我们现在在Heroku这样做.我们碰巧将Godaddy用于域名注册商,但任何DNS控制面板都会让您做同样的事情.

我在这里读到的其他解释有点笼统,以下是具体内容......

heroku的解释非常好,请访问:http://docs.heroku.com/custom-domains (甚至还有一个非常好的截屏视频一步一步显示)

关键是如果您的ROOT域(mycoolsite.com)在Heroku,您想要创建三个"A"记录,因为它们会做一些容错的交叉魔法.所以你有一个A记录

75.101.163.44
75.101.145.87
174.129.212.2
Run Code Online (Sandbox Code Playgroud)

现在为每个子域创建一个CNAME记录

www  -> proxy.heroku.com
client1 -> proxy.heroku.com
client2 -> proxy.heroku.com
client3 -> proxy.heroku.com
Run Code Online (Sandbox Code Playgroud)

现在在HEROKu方面,你有两个应用程序吗?"宣传册应用程序"和saas应用程序.

登录,并为每个应用程序转到资源 - >插件 - >获取更多插件 - >自定义域(免费)

对于宣传册应用,添加一个域名: www.mycoolsite.com

对于saas应用程序,添加每个客户端,例如:

client1.mycoolsite.com 
client2.mycoolsite.com 
client3.mycoolsite.com
Run Code Online (Sandbox Code Playgroud)

而已.像冠军一样工作.玩得开心.

  • 您好,我发现这非常有用,但是,我的应用会自动创建用户子域.因此,只要我的客户注册到我的应用程序,我就会自动创建myclient.myapp.com ...这是否意味着我必须为每个客户手动创建一条C记录? (3认同)
  • @jalagrange你应该可以使用Heroku的通配符子域,但每月花费5美元. (3认同)

rai*_*ive 1

我不认为这是一个问题。Rails 过去在 subdomain_fu 等 gem 的帮助下已经支持了这样的子域。在 Rails 3 中,子域支持实际上是内置的,并由 Ryan Bates http://railscasts.com/episodes/221-subdomains-in-rails-3涵盖。请观看该截屏视频,了解从哪里开始的好方向。我相信您需要 Heroku http://docs.heroku.com/custom-domains的自定义域插件。