Múltiples hosts en Tomcat

3
31455

Múltiples hosts en Tomcat

Al igual que la mayoría de los
servidores web y servidores de aplicaciones de hoy en día,
Tomcat soporta el “hosting virtual”: el soporte de
múltiples dominios en el mismo servidor. Es decir, podemos
usar el mismo Tomcat para alojar www.autentia.com,
clientes.autentia.com y extranet.autentia.com.Cada una de las tres
direcciones deberá apuntar a la misma IP y cuando un usuario
acceda a una de ellas, Tomcat sabrá a qué grupo de
aplicaciones hace referencia.

Vamos a hacer un ejemplo práctico
utilizando un Tomcat local y para ello:

  • Configuraremos la resolución
    de nombres

  • Crearemos unas aplicaciones de
    prueba

  • Configuraremos el server.xml del
    Tomcat

  • Probaremos que todo funcione

Configuración de la resolución de
nombres

La resolución de nombres es el
mecanismo que se utiliza para resolver el número de IP de una
URL y sobre este tema podemos encontrar una completa descripción
en http://es.wikipedia.org.

Como seguramente no tenemos un DNS para
hacer pruebas, utilizaremos la configuración local mediante el
fichero hosts. Para ello, abrimos un explorador en
C:\WINDOWS\system32\drivers\etc:

Y abrimos el fichero hosts con el Block
de Notas (Notepad):

En el fichero añadimos las
siguientes líneas:

Con lo que le indicamos al TCP/IP local
que las direcciones www.autentia.com, clientes.autentia.com y
extranet.autentia.com correponden al equipo local (127.0.0.1).

Crearemos unas aplicaciones de prueba

Creamos unas carpetas como se muestra a
continuación e incluimos las aplicaciones (en este caso,
simples ficheros “.war” que contengan un index.html y un
WEB-INF con su web.xml básico) en tres carpetas.

Si queremos que sean la “aplicación
por defecto”, entonces los llamamos ROOT.war como lo haremos en
autentia_webapps y clientes_webapps. Pero para completar el ejemplo,
en extranet_webapps lo llamaremos miaplicacion.war:

Configuraremos el server.xml del Tomcat

Ahora es el momento de configurar el
server.xml de Tomcat, así que abrimos la carpeta conf del
servidor:

Y editamos el server.xml para añadir
un host por cada url:

Cabe aclarar que este es un server.xml
donde hemos simplificado mucha configuración y que uno
utilizado en producción probablemente sea mucho más
extenso, configure contextos de aplicaciones, etc.

Probaremos que todo funcione

Ejecutamos el Tomcat. Abrimos un
navegador en http://www.autentia.com y vemos el siguiente mensaje:

Y si accedemos a “miaplicación”
ponemos http://extranet.autentia.com/miaplicacion/ :

IMPORTANTE: No olvidemos quitar del
fichero hosts la configuración que hemos puesto porque sino no
podrás entrar al verdadero http://www.autentia.com y te
perderas estos excelentes tutoriales!!!

Vemos que podemos simplificar la URL de
acceso a las aplicaciones instaladas en un mismo servidor Tomcat a
través de subdominios, o alojar múltiples webs en un
mismo Tomcat aunque debemos recordar que debido a restricciones del
protocolo SSL sólo una de ellas podrá tener soporte
SSL.

En Autentia sabemos que es complicado poner en marcha un proyecto Web. Por ello, si necesitas que te orientemos en la creación de un nuevo proyecto, o incluso si quieres que te lo pongamos en marcha en poco tiempo, aprovechando nuestra experiencia y tus recursos, no dudes en contactar con nosotros, y verás que tus desarrollos dejan de ser un problema para ser una herramienta de trabajo más.

3 Comentarios

  1. Hola estaba viendo el tutorial que estaban describiendo para hacer virtualhost en server.xml en tomcat pero sera el mismo proceso para eclipse ya que el proyecto que tengo lo tengo ejecutando en eclipse
    Que proceso ya tomcat lo tengo configurado con eclipse

    • Para poder realizar los multiples hosts como en este tutorial aunque estés arrancando tu Tomcat desde Eclipse, debes configurar el servidor desde eclipse para que utilice los archivos de instalación que se encuentren donde tengas tu instalación de Tomcat.
      server locations eclipse

      De todas formas, puedes acceder al server.xml que ha generado eclipse desde la pestaña de «Project Explorer» y abriendo la carpeta de configuración de Tomcat que se encuentra dentro de Servers.

  2. Hola a todos, lo primero de todo, gracias por compartir.
    Yo tengo varios dominios y todo va bien.

    Todo va bien, hasta configuré SSL, añadí un filtro URL y todo OK.
    Ahora estoy metiendo los dominios .es y me encuentro que solo resuelve los .com, supongo que se debe a que van primero en el filtro URL.
    Si alguien ha tenido esta experiencia y lo quiere comentar, gracias de antemano.
    Fern.

Dejar respuesta

Please enter your comment!
Please enter your name here