multi tenant with custom domain on rails
apache, multi-tenant, ruby-on-rails
Solution
I have a similar setup and am using nginX. What I did for ease of maintenance was accepted all the connections from nginx and did the filtering in my app.
# application_controller.rb
before_filter :current_client
private
def current_client
# I am using MongoDB with Mongoid, so change the syntax of query accordingly
@current_client ||= Client.where(:host => request.host).first
render('/public/404.html', :status => :not_found, :layout => false) unless @current_client
end
You can have your clients have a domain record with there domain/subdomain pointing to `you_ip` or `your_domain_pointing_to_your_ip.com` and capture that in a form and save in database. Then alter the query in `current_client` like:
@current_client ||= Client.or(:host => request.host).or(:alias => request.host).first
Problem
I'm creating a multi tenant application like shopify and wanna know how can I create custom domain on server that points to the same application instance? For example: ``` app1.mysystem.com == www.mystore.com app2.mystem.com == www.killerstore.com ``` I need to do that config on CNAME like Google Apps? If so, how can I do that? Is there some good paper showing how this works ? PS: app1 AND app2 points to the same application! Thanks