Pregunta

nuevo a JBoss y estoy configuración de algunas aplicaciones. Yo sé cómo hacer esto en el servidor web Apache, pero que no utilizan Jboss.

He desplegado con éxito 3 aplicaciones en un cuadro de RedHat, JBoss 4.2.

Si mi servidor se llama fruit.mycompany.com, puedo acceder a los tres aplicaciones de esta manera:

http://fruit.mycompany.com:8080/quince
http://fruit.mycompany.com:8080/pineapple
http://fruit.mycompany.com:8080/lime

A continuación, he creado tres subdominios, que son los alias de la fruta servidor.

http://quince.mycompany.com
http://pineapple.mycompany.com
http://lime.mycompany.com

¿Cómo puedo obtener cada subdominio para señalar que es la aplicación correspondiente?

http://quince.mycompany.com para realmente abierta http://fruit.mycompany.com:8080/quince .

En Apache, me gustaría utilizar la etiqueta VirtualHost para señalar cada subdominio a la raíz de documentos correcta. ¿Cómo lo hago con JBoss o Tomcat?

¿Puedo hacerlo con redirección (no Tomcat tiene algo así como mod_rewrite)?

¿Fue útil?

Solución 2

Me di por vencido con Tomcat.

La situación llegó a ser demasiado complicado.
Tengo un sitio web que se ejecuta en el puerto 80 ya (en una instancia independiente de JBoss).
Tengo estas tres aplicaciones, membrillo, piña y limón que se ejecuta en su propia instancia de JBoss en el puerto 8080.

Para resolver mi problema, que acabo de escribir una función javascript en la página de índice de la página web que se ejecuta en el puerto 80.

verifico Ubicación para ver qué dominio está siendo llamado y luego redirigir a la página web correspondiente en el puerto 8080.

El guión es como la siguiente:

var whois=location+" ";
if (whois.indexOf("quince.mycompany.com") > -1)
{ 
    setTimeout('window.location.replace("http://quince.mycompany.com:8080/quince/");', 10);     
    exit;
}
if (whois.indexOf("lime.mycompany.com") > -1)
{ 
    setTimeout('window.location.replace("http://lime.mycompany.com:8080/lime/");', 10);     
    exit;
}
...
// otherwise redirect to the app running on port 80
setTimeout('window.location.replace("http://fruit.mycompany.com/otherapp/");', 10);  

No es exactamente lo que quería, pero al menos mis usuarios ahora tienen una dirección URL de acceso directo, y no tienen que recordar números de puerto: http://lime.mycompany.com redirige a -> http://lime.langara.bc.ca:8080/lime

Otros consejos

Tomcat soporta hosts virtuales . Usted tiene básicamente a:

1) Cambio de Tomcat "escuchar" a puerto 80 en lugar de 8080.

2) Modificar server.xml de Tomcat a la lista de sus servidores:

<Engine name="Catalina" defaultHost="quince">
    <Host name="quince"    appBase="quince_apps"/>
    <Host name="pineapple" appBase="pineapple_apps"/>
    <Host name="lime"      appBase="lime_apps"/>
</Engine>

3) Mover cada aplicación a la carpeta 'raíz' de correspondiente carpeta "_apps".

Cuando estaba en una situación similar, que elegimos para utilizar la redirección de Apache en lugar; sin embargo, tenía Apache ya servir páginas estáticas (sitio web público).

¿Has mirado en Tomcat mod_jk http://tomcat.apache.org/connectors-doc/ ?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top