Múltiples hosts en Tomcat

En este tutorial se va a presentar un ejemplo práctico para ver como Tomcat soporta el alojamiento de múltiples hosts

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

    Text
    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

Text
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

Text
server.xml

del Tomcat

Ahora es el momento de configurar el

Text
server.xml

de Tomcat, así que abrimos la carpeta conf del
servidor:

Y editamos el

Text
server.xml

para añadir
un host por cada url:


  
   
   
     
     
     
     
     
     
   
  

Cabe aclarar que este es un

Text
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.

Comentarios

3 respuestas

  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

    1. 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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

He leído y acepto la política de privacidad

Información básica acerca de la protección de datos

  • Responsable: IZERTIS S.A.
  • Finalidad: Envío información de carácter administrativa, técnica, organizativa y/o comercial sobre los productos y servicios sobre los que se nos consulta.
  • Legitimación: Consentimiento del interesado
  • Destinatarios: Otras empresas del Grupo IZERTIS. Encargados del tratamiento.
  • Derechos: Acceso, rectificación, supresión, cancelación, limitación y portabilidad de los datos.
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad

Ingeniero en Informática

¿Quieres publicar en Adictos al trabajo?

Te puede interesar

Aprende cómo migrar tu sitio Joomla 3 a Joomla 5 de forma segura, manteniendo el diseño, la funcionalidad y compatibilidad con extensiones. Una guía paso a paso con recomendaciones, imágenes y buenas prácticas para actualizar sin sorpresas.
Descubre qué es Yocto Project, sus ventajas, usos reales en Izertis y cómo crear tu propia distribución Linux para Raspberry Pi paso a paso, de forma sencilla y flexible.
¿Trabajas con Drupal y SonarQube 9.9? En este artículo exploramos cómo adaptar el análisis estático para evitar falsos positivos, desactivar reglas conflictivas del Quality Profile y delegar el estilo a PHP CodeSniffer. Una guía práctica para mejorar la integración sin depender aún de SonarQube 10.