2010-07-15 12 views
8

Tengo una aplicación carriles donde los clientes registrarse y obtener un sitio subdominio personalizado/url como esta:cómo permitir que los sitios de subdominio cliente para utilizar su propio dominio

  • customer1.myapp.com
  • Customer2. myapp.com
  • customer3.myapp.com

¿Cuáles son los pasos que debes seguir para que un cliente pueda utilizar su propio nombre de dominio registrado de manera que sus puntos de dominio a mi aplicación?

Entonces, en el ejemplo anterior, si "customer1" posee "customer1.com" - ¿cómo puedo configurar mi aplicación para que cualquier solicitud a "customer1.com" se envíe a "customer1.myapp.com"? Además, ¿qué tendría que hacer mi cliente en su extremo?

Gracias.

Respuesta

6

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.

Cuestiones relacionadas