especiales - ¿Cómo se asigna un subdominio a una aplicación web en Tomcat 6(incluida la raíz de la aplicación web)?
servidor tomcat (1)
¿Puedes intentar anidar cada aplicación web como la aplicación web raíz dentro de <Host>
en server.xml dando path=""
. No lo he intentado yo mismo.
<Host name="bbstats.localhost" appBase="webapps">
<Context path="" docBase="/bbstats/"/>
</Host>
<Host name="tomcatstuff.localhost" appBase="webapps">
<Context path="" docBase="/tomcatstuff/"/>
</Host>
el sujeto lo dice todo. Lo que quiero es asignar cada subdominio a una aplicación web como:
http://root.domain.com:8080 -> http://domain.com:8080/
http://manager.domain.com:8080 -> http://domain.com:8080/manager
http://abc.domain.com:8080 -> http://domain.com:8080/abc
http://def.domain.com:8080 -> http://domain.com:8080/def
en una máquina localhost esto sería
http://root.localhost:8080 -> http://localhost:8080/
http://manager.localhost:8080 -> http://localhost:8080/manager
http://abc.localhost:8080 -> http://localhost:8080/abc
http://def.localhost:8080 -> http://localhost:8080/def
Idealmente, me gustaría utilizar el puerto 80 en lugar de 8080, pero esa es otra historia. Me encantaría hacerlo funcionar con el puerto 8080 al principio, para que la ruta al final de la URL desaparezca.
Tenga en cuenta que las flechas no son redireccionamientos, sino lo que ingresaría si dejara Tomcat como está.
Conozco la página de documentación de Tomcat http://tomcat.apache.org/tomcat-6.0-doc/virtual-hosting-howto.html . Lo he leído muchas veces, pero no hice mucho progreso. Edité etc / hosts para agregar 127.0.0.1 bbstats.localhost. Luego agregué
<Host name="bbstats.localhost" appBase="webapps/bbstats"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
al server.xml de Tomcat en el directorio de conf. El contexto de mi webapp es:
<Context path="/bbstats" docBase="bbstats" debug="5" reloadable="true" crossContext="true">
</Context>
Reinicia Tomcat. Redploy a través de Ant. Al ingresar
http://bbstats.localhost:8080/
en un navegador, obtengo una pantalla en blanco.
Cuando uso appBase = "webapps" en lugar de appBase = "webapps / bbstats", llego a la aplicación raíz de Tomcat. El último comportamiento es algo esperado. Pero, ¿cómo puedo hacer que bbstats.localhost: 8080 vaya a la aplicación web bbstats sin un seguimiento / bbstats en la URL?