Para un proyecto en el que estoy trabajando necesitamos urls en la forma
http://cliente.dominio.com
http://cliente2.dominio.com
http://cliente3.dominio.com
… en definitiva http://cualquiercosa.dominio.com apuntaría siempre al mismo contenido web
No confundir este comportamiento con, por ejemplo http://blog.dominio.com y http://wiki.dominio.com , dominios que pretendemos apunten a distintos contenidos web, no al mismo.
El problema viene en que estas urls deben ser autogeneradas, ya que los clientes se dan de alta automáticamente via web, lo cual me deja dos opciones:
- Modificar los registros y servicios DNS cada vez que un cliente se de de alta
- Crear un «Wildcard DNS» (*.dominio.com apunta hacia una carpeta web)
Actualmente trabajamos con Arsys , aunque utilizamos un Panel de control de terceros (Plesk). El proceso para nuestro caso (aunque muy similar con otros Hostings/Paneles) ha sido el siguiente:
Paso 1, el servicio DNS
Lo primero que necesitamos es un registro tipo CNAME apuntando de *.dominio.com. a dominio.com. , en nuestro caso tuvimos que solicitarlo al servicio técnico de Arsys, que amablemente lo creó por nosotros, en muchos otros probablemente podais hacerlo vosotros mismos en el panel de control de DNS de vuestro dominio
CNAME *.dominio.com. -> dominio.com.
Paso 2, preparar nuestro servidor para aceptar las peticiones
Una vez tenemos los DNS apuntados correctamente, debemos decirle al servidor que queremos que acepte las peticiones *.dominio.com , para ello iremos en Plesk a la administración de nuestro dominio – DNS , y añadiremos un registro tipo A apuntando a la ip de nuestro servidor donde esté alojado el dominio.
Si por ejemplo tenemos un servidor con dos ips, 220.165.23.8 y 220.165.23.9 , y el dominio.com está alojado en la primera ip, 220.165.23.8, iriamos a Dominios – dominio.com – DNS y añadiriamos un registro en la forma: A – *.dominio.com. – 220.165.23.8
Paso 3, decirle al servidor web que trate todos los *.dominio.com como dominio.com
Lo habitual sería modificar el httpd.conf (Plesk utiliza Apache por defecto como servidor web) para añadir un Alias, sin embargo, Plesk sobreescribe nuestras configuraciones personales con cada cambio en el Panel de control, asi como cada vez que actualizamos el mismo, con lo que nuestros cambios se perderían.
Sin embargo, los chicos de SWsfot han sido lo bastante amables para permitirnos utilizar un fichero «comodín» en cada uno de nuestros dominios para nuestras configuraciones personales: el fichero a modificar (o crear) lo encontraremos (o crearemos) en:
/home/httpd/vhosts/dominio.com/conf/vhost.conf
Una vez localizado lo editamos (con vi, por ejemplo) y añadimos la siguiente entrada al archivo:
ServerAlias *.dominio.com
Paso 4, reinicio de servicios
Con esto habremos terminado de configurar nuestro Wildcard DNS, ya sólo nos queda reiniciar el servidor web (ocasionalmente, y dependiendo del tipo de configuración, puede que necesites reiniciar completamente la máquina)
/usr/local/psa/admin/bin/websrvmng -a -v
Conclusión y utilidades
A partir de ahora, nuestro servidor responderá sin problemas a peticiones tipo http://usuario1.dominio.com o http://usuario2.dominio.com, mostrando siempre el contenido de la misma carpeta web.
Ahora ya sólo nos queda ponernos a programar, comprobando la url del lado cliente con javascript, o del lado servidor con por ejemplo PHP, ya podremos personalizar textos, colores o logotipos en función de la url cargada en el navegador.
10 comentarios en “Configurar Wildcard DNS en Plesk – Múltiples y automáticos subdominio.dominio.com”