apache - WildFly-> Undertow-> mapeo del subdominio al archivo war no funciona
jboss subdomain (3)
Este es un error en la implementación actual del subsistema undertow. Solo procesa de manera adecuada el módulo web predeterminado para el host predeterminado y ni siquiera lo tiene en cuenta para los hosts que no son los predeterminados.
Creé https://issues.jboss.org/browse/WFLY-3639 para rastrear y corregirlo.
como solución alternativa hasta que esto se solucione, agregue
jboss-web.xml
a WEB-INF
de tu myapp2.war
con contenido:
<jboss-web>
<virtual-host>other-host</virtual-host>
<context-root>/</context-root>
</jboss-web>
que le indicará al servidor a qué host y raíz de contexto debe estar vinculado.
WildFly 8.1.0 Final Windows Server 2012 R2
Tengo dos subdominios apuntando a este servidor, y quiero que las solicitudes a cada subdominio activen un archivo war diferente:
webapp.domain1.com -> WildFly Server -> myapp1.war
test.domain2.net -> WildFly Server -> myapp2.war
Mi archivo standalone.xml está actualmente configurado de la siguiente manera según los consejos recibidos en el sitio JBoss Developer: -
<subsystem xmlns="urn:jboss:domain:undertow:1.1">
<buffer-cache name="default"/>
<server name="default-server">
<http-listener name="default" socket-binding="http"/>
<host name="default-host" default-web-module="myapp1.war" alias="webapp.domain1.com"/>
<host name="other-host" default-web-module="myapp2.war" alias="test.domain2.net"/>
</server>
<servlet-container name="default">
<jsp-config/>
</servlet-container>
<filters>
<response-header name="server-header" header-value="WildFly/8" header-name="Server"/>
<response-header name="x-powered-by-header" header-value="Undertow/1" header-name="X-Powered-By"/>
</filters>
</subsystem>
Al señalar un navegador en webapp.domain1.com o test.domain2.net, la solicitud se envía al servidor de WildFly como se esperaba, pero el mismo archivo de guerra (myapp1.war) se desencadena en ambos casos.
Cambiar los valores de ''nombre'' de los elementos <host ... /> de la siguiente manera hace que myapp2.war se llame de cualquier URL que se use: -
<host name="other-host" default-web-module="myapp1.war" alias="webapp.domain1.com"/>
<host name="default-host" default-web-module="myapp2.war" alias="test.domain2.net"/>
Parece que Undertow solo está procesando detalles de la entrada "host predeterminado".
¿Puede alguien aquí ayudar con esto por favor?
En su defecto, ¿alguien sabe si (y cómo) se puede utilizar WildFly con Apache Web Server?
Muchas gracias,
Andrés
Probé una configuración similar a la tuya en Ubuntu 14.04 con WildFly 8.1.0.Final y Firefox 30, y para mí funciona después de agregar una WEB-INF/jboss-web.xml
a una de mis guerras:
<jboss-web>
<virtual-host>other-host</virtual-host>
</jboss-web>
Definí dos alias de host diferentes para la misma IP en mi / etc / hosts, y mi navegador se redirige a las diferentes aplicaciones web para http://alias1:8080
y http://alias2:8080
como se esperaba.
default-host es el host virtual que se utilizará si una solicitud entrante no es Host: header. Entonces, para obtener las solicitudes a su otro servidor, la solicitud enviada por el cliente debe tener "Host: other-host" en el encabezado de la solicitud.
Parece una solicitud HTTP de ejemplo del cliente,
GET /Some/Resource HTTP/1.1
Accept: ....
Host: other-host
....
....
Mira si esto funciona