Su cliente necesitará configurar DNS para que su dominio lo dirija, o parte de él, a su dirección. Esto puede ser complicado de coordinar, especialmente si la dirección del servidor en el que está alojado el servicio puede cambiar de vez en cuando. Es mucho más fácil dirigir el subdominio de un cliente a su subdominio.
También necesitará una tabla de búsqueda que asigne el dominio de un cliente a la cuenta de un cliente. Que se expresa normalmente como algo parecido a esto:
before_filter :load_customer_from_host
def load_customer_from_host
# Strip "www." from host name to search only by domain.
hostname = request.host.sub(/^www\./, '')
@customer = Customer.find_by_host!(hostname)
rescue ActiveRecord::RecordNotFound
render(:partial => 'customer_not_found', :layout => 'application', :status => :not_found)
end
presume que tiene un modelo de atención al cliente con un campo 'anfitrión' set con algo como 'customer1.myapp.com' o 'customer1.com', lo que coincide con el host campo.
Al configurar su aplicación, deberá tener una configuración de host virtual que responda a todos los nombres de dominio arbitrarios. Esto es fácil de hacer si es el único sitio alojado, ya que ese es el comportamiento predeterminado. Si está haciendo esto en el alojamiento compartido, puede que tenga que configurar un alias para cada dominio de cliente específicamente, lo que puede ser una molestia.