VirtualHost en tomcat

Supongo que alguna vez os habrá pasado. Queremos darle un dominio web a una aplicación, para que sea acceda a ella directamente sin tener que poner nada detrás, como por ejemplo que app.uva.es vaya a servidor.uva.es/app que es la ruta donde está desplegada la aplicación.

Pues es muy sencillo, en la configuración del tomcat, en server.xml definimos un nuevo host con el contextpath apuntando a la ruta donde está la aplicación, y si queremso que tenga un alias también s elo ponemos. Tenéis un ejemplo a continuación:

<Host name="app.uva.es" appBase="">
<Context path="/" docBase="/servicio/webapps/app" />
<Alias>app2.uva.es</Alias>
</Host>

Y con esto de manera sencilla lo tenemos resuelto.

webmaster

Grupo web de la Universidad de Valladolid - STIC

2 comentarios en “VirtualHost en tomcat”

  1. Buenas,
    He seguido todos los pasos de tu explicación para crear varios virtualhost en Tomcat y no he conseguido hacerlo funcionar.
    No sé qué he hecho mal, pero me aparecen varios errores en los logs y no funcionan los virtualhost.

    Jan 24, 2012 12:54:39 PM org.apache.catalina.startup.Catalina load
    WARNING: Catalina.start using conf/server.xml:
    java.lang.IllegalArgumentException: addChild: Child name ‘aplicacion1.com’ is not unique
    at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2806)
    at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2832)
    at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1141)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:601)
    at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:180)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1343)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2755)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
    at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1642)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:510)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:568)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
    Caused by: java.lang.IllegalArgumentException: addChild: Child name ‘aplicacion1.com’ is not unique
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:781)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
    at org.apache.catalina.core.StandardEngine.addChild(StandardEngine.java:262)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.tomcat.util.IntrospectionUtils.callMethod1(IntrospectionUtils.java:928)
    at org.apache.tomcat.util.digester.SetNextRule.end(SetNextRule.java:193)
    at org.apache.tomcat.util.digester.Rule.end(Rule.java:229)
    at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1138)
    … 20 more
    Jan 24, 2012 12:54:39 PM org.apache.catalina.startup.Catalina start
    SEVERE: Cannot start server. Server instance is not configured.

    Si pudieras echarme una mano te estaría muy agradecida.

    Saludos,

    1. Si te fijas en el error de Java te está indicando «Child name ‘aplicacion1.com’ is not unique». Sin ver el fichero supongo que estás usando el mismo nombre en dos sitios.

      Espero que te sirva la respuesta

Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.