Ruby on Rails用户生成的子域 - 我需要一个专用的虚拟主机吗?

时间:2010-02-15 22:15:06

标签: ruby-on-rails dns subdomain virtualhost

我按照Robby on Rails的说明在我的mac OSX上成功运行了子域名。我想按照下面的示例代码,但我不知道从哪里开始。你如何编辑DNS设置?我需要有专门的虚拟主机来执行此操作吗?现在我有一个标准(糟糕)Dreamhost共享主机。如果我选择DVH,Media Temple是个不错的选择?

任何媒体记录都会有所帮助 - 我的谷歌搜索只会导致愤怒的客户/托管公司的长篇大论。

谢谢!

# 1) Point *.example.com in your DNS setup to your server.
#
# 2) Setup an Apache vhost to catch the star pointer:
#
# <VirtualHost *:80>
#   ServerName example.com
#   ServerAlias *.example.com
# </VirtualHost>
#
# 3) Set the current account from the subdomain
class ApplicationController < ActionController::Base
  before_filter :set_current_account

  private
    def set_current_account
      @current_account = Account.find_by_subdomain!(request.subdomains.first)
    end
end

# 4) Tie all top-level requests off the current account
class CustomersController < ApplicationController
  def index
    @customers = @current_account.customers
  end
end

1 个答案:

答案 0 :(得分:0)

我使用Heroku做类似的事情,它支持通配符DNS,绝对值得一看。处理DNS有多种选择 - 大多数时候,这实际上是由管理名称服务器的人处理的。

Dreamhost将允许在请求时使用通配符DNS托管...基本上,它们使用其名称服务器处理传入请求的映射,因此除了发送电子邮件之外,您不需要做太多其他事情。