Configurar un dominio personalizado en un sitio web de Azure

dominio personalizado (cc) Foto por mistergwilson

En el anterior post sobre la instalación de WordPress en Windows Azure, veíamos como la URL que se generaba para nuestro sitio web era del estilo http://<mi-nombre>.azurewebsites.net. En este artículo vamos a ver cómo modificar la URL para que la web responda a un dominio personalizado propio como http://www.mi-nombre.com, por ejemplo.

Aclaración previa

Antes que nada, hay que hacer una aclaración sobre el funcionamiento de un sitio web en Azure:

Los sitios web gratuitos no permiten la personalización del nombre del dominio

En Azure existen 3 tipos de sitios web:

  1. Gratuito: con pocos recursos, ideal para hacer las pruebas de nuestra página sin coste, dispone de cuotas de uso que bloquean el acceso a la página si se superan..
  2. Compartido: recursos compartidos con otros sitios web, igualmente utiliza cuotas de uso, algo mayores que el modo Gratuito.
  3. Estándar: máquina virtual dedicada donde alojar tantos sitios web como queramos, o soporte el tamaño de la instancia.

Tan sólo los sitios web en modo Compartido o Estándar permiten la personalización del dominio.

Por ello, lo primero que tenemos que hacer es cambiar la web a uno de estos dos modos antes de configurar los dominios. Mi recomendación es hacerlo justo antes de lanzar la web al público final, o si el dominio real ya es necesario tenerlo para usarlo con otros servicios. De esta manera, ahorraremos costes hasta el momento del lanzamiento.

Para ello, accedemos al portal de gestión y entramos en la ficha del site que vamos a modificar. En este caso, he seleccionado el modo Compartido, más económico.

Azure-Shared

Configurando las DNS del dominio

Lo primero que necesitamos es configurar las DNS de nuestro dominio personalizado para que apunten a nuestro website en Azure. Para ello, tenemos que acceder al panel de administración de nuestro proveedor donde registramos el dominio y añadir el siguiente registro CNAME (o alias):

CNAME: <dominio-personalizado> -> http://<mi-nombre>.azurewebsites.net

En mi caso, y siguiendo con el ejemplo anterior, he creado un registro CNAME para mi-nuevo-wordpress.sergigisbert.com que apunta a mi-nuevo-wordpress.azurewebsites.net.

Dominio personalizado

Configurando el site con el nuevo dominio

Una vez tenemos redirigido el dominio y hemos cambiado el modo de proceso del site, accedemos al panel de administración y comprobamos cómo se ha habilitado la funcionalidad de “Administrar dominio”, que en el modo gratuito está deshabilitada. El botón se encuentra en la barra inferior:

Azure-AdminDomains

En la ventana que se nos abre, introducimos el dominio personalizar que previamente hemos redirigido con el alias DNS:

Azure-NewDomain

Es imprescindible realizar el paso del registro DNS antes que el alta del dominio, porque Azure realiza una consulta para verificar que el nuevo dominio apunta al dominio original de Azure.

Una vez que se aplican los cambios y, si todo ha ido correctamente, ya podemos acceder al site con el nuevo dominio:

Azure-CustomDomain

Podemos utilizar tanto un dominio de primer nivel (www.mi-dominio.com), como un subdominio (blog.mi-nombre.com). El único requisito es que el dominio resuelva con un alias al dominio original de azurewebsites.net.

Y con estos sencillos pasos, ya tenemos nuestro propio dominio funcionando con nuestra web en Azure.

  • Edward Ocando

    Tengo en azure una maquina virtual con iis configurado y quiero apuntar mi dominio pero al iis de UNA MAQUINA VIRTUAL, NO UN SITIO WEB DE AZURE. ES DECIR A UN SITIO WEB PERO QUE ESTA DENTRO DE MI MAQUINA VIRTUAL DE AZURE. Como lo hago…?

    • http://www.sergigisbert.com/ Sergi Gisbert

      Hola Edward,

      en tu caso no es necesario configurar el dominio en Azure, porque por defecto el IIS te va a responder a todas las peticiones que reciba la máquina, a menos que hayas configurado el binding para un hostname específico.

      Suponiendo que este es el caso, tan solo tienes que añadir un registro CNAME a tu dominio que apunte al nombre de tu MV, o un registro A si quieres apuntar a la IP de la máquina. Además, comprueba en la configuración de la MV en Azure que tienes abierto el puerto 80 público y privado para que las peticiones web le lleguen a la máquina (pestaña Extremos).

      Espero te sirva la aclaración.
      Un saludo,
      Sergi

      • Edward Ocando

        Amigo, saludos muy buena tu aclaracion, solo una duda mas.

        En miras a reducir el consumo de recursos (y por ende minimizar el monto pagado a azure) que es mejor, alojar un sitio dentro de la maquina virtual o dentro un un sitio web propio de azure…?

        • http://www.sergigisbert.com/ Sergi Gisbert

          Hola Edward,

          pues tienes una calculadora para comparar precios, pero, de memoria, yo diría que el coste de 1 sitio web estándar y de 1 MV estándar son prácticamente iguales. Piensa que por debajo del Website hay una MV, con lo que es normal que tenga el mismo coste de recursos.

          Mi recomendación es que, si no necesitas configurar nada muy concreto en la MV, intentes siempre utilizar WebSites o CloudServices, así te aseguras tener siempre la MV actualizada y no tienes que preocuparte de configurarla ni mantenerla.

          Igualmente, tanto con una MV como con un Website, puedes tener más un site dentro del mismo recurso, por lo que sólo pagas por 1 instancia, y luego la reutilizas para más de una web.

          Un saludo,
          Sergi

          • Gabriel Arias

            Hola tengan un buen dia…!
            Continuando con el tema mi pregunta es la siguiente, yo tengo mi maquina virtual en azure y ahí tengo montado un sitio web y ya esta todo perfecto, pude abrir el puerto 80 y recibe toda petición hacia ella, pero tengo que escribir su direcciópn ip o a su vez la dirección web con el dominio que azure me asignó…!
            Ahora quisiera saber si uds pueden hacer o si se puede colocar un dominio personalizado para no escribir el de azure, osea mi propio dominio y como lo haría!!
            Saludos!!

          • http://www.sergigisbert.com/ Sergi Gisbert

            Hola Gabriel, perdona el retraso :)

            Tal y como le contestaba al amigo Edward, algunos comentarios más arriba:

            “en tu caso no es necesario configurar el dominio en Azure, porque por defecto el IIS te va a responder a todas las peticiones que reciba la máquina, a menos que hayas configurado el binding para un hostname específico.

            Suponiendo que este es el caso, tan solo tienes que añadir un registro CNAME a tu dominio que apunte al nombre de tu MV, o un registro A si quieres apuntar a la IP de la máquina. Además, comprueba en la configuración de la MV en Azure que tienes abierto el puerto 80 público y privado para que las peticiones web le lleguen a la máquina (pestaña Extremos).”

            Espero te sirva!

            Un saludo,
            Sergi

          • Gabriel Arias

            Muchas gracias Sergi pues ya lo logré, ya pude apuntar a mi servidor con un dominio personalizado :)
            Lo que hice fue configurar un registro CNAME que apuntara al dominio que me asignó azure…
            Muchas gracias por el tiempo!
            Saludos!

          • http://www.sergigisbert.com/ Sergi Gisbert

            Exacto! Eso era.

            Un saludo,
            Sergi

  • Julio Cesar Azuero

    Sergi, muy bueno tu articulo, esto funciona perfecto con un solo sitio web en la maquina virtual, pero necesito que la maquina tenga varios sitios, como lo hago??

    • http://www.sergigisbert.com/ Sergi Gisbert

      Hola Julio,

      para tener varios sitios, simplemente tienes que definir en cada uno de ellos a qué domino van a responder, y así es el IIS quien se encarga de redirigir las peticiones a cada website.

      Para hacerlo, tienes que abrir el IIS, seleccionar un website, en la columna de acciones de la derecha seleccionar “Bindings…” (o “Enlaces…” en castellano, creo), y editar el enlace que veas, añadiendo al campo “hostname” el dominio al que quieras que responda, “www.miwebsite.com”, por ejemplo (sin “http://”).

      Esto lo tienes que hacer para todos los dominios que quieras alojar en la misma máquina. Si en alguno no lo añades, se convierte en el website “por defecto” y responderá al resto de peticiones que no haya podido resolver con los nombres de dominio de los demás websites.

      Espero te sirva de ayuda.

      Un saludo,
      Sergi

  • Julio Cesar Azuero

    Sergi, muchas gracias ya hice las pruebas y me funcionó ok, mi problema era que tenia el binding de un sitio sin el hostname y por eso no encontraba los demás.

  • Ivan Tapia

    Hola Sergi.
    Yo tengo problemas al asignar en mi CNAME. Tengo mi dominio en NameSilo, y me sale el error:
    There were problem(s) with your request:

    http://[XXXXXX].azurewebsites.net/ must be a valid host
    Please make applicable changes and try again.

    Otra pregunta… crees que salga a cuenta crear un sitio y pagar por el hosting con Azure, comparando con otros hostings? Tengo una suscripción Bizspark y quiero aprovechar al máximo la suscripción, pero tampoco no montar algo que luego lo tendré que sacar.

    Gracias por tu ayuda.

    • http://www.sergigisbert.com/ Sergi Gisbert

      Hola Iván,

      ¿El error te lo da tu gestor de DNS? Si es así, me parece que están poniendo la url completa, y sólo necesitas el dominio: [XXXXXX].azurewebsites.net. sin http ni nada

      En cuanto a Azure, pues ya dependerá de lo que necesites. A veces vale la pena pagar un poco más por un mejor servicio, pero ya te digo, que dependerá mucho de tus proyectos y necesidades.

      Un saludo!

      • Ivan Tapia

        Muchas gracias… Ya lo tengo on-line!
        Ahora haré otro sitio y este sí lo configuraré con todo lo que quiero publicar.

        Muchas gracias Sergi !!