WildFly - >暗潮 - >马平子战争文件无法正常工作 [英] WildFly -> Undertow -> maping subdomain to war file not working

查看:220
本文介绍了WildFly - >暗潮 - >马平子战争文件无法正常工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

WildFly 8.1.0决赛
    Windows Server 2012中R2

我在这台服务器指向两个子域,我想请求各个子域触发不同的WAR文件: -

  webapp.domain1.com  - > WildFly服务器 - > myapp1.war
test.domain2.net - > WildFly服务器 - > myapp2.war

我standalone.xml文件当前配置的基础上建议对JBoss的开发者网站收到如下: -

 <子系统的xmlns =金塔:JBoss的:域名:暗流:1.1>
  <缓冲区高速缓存名称=默认/>  <服务器名称=默认的服务器>
    < HTTP的侦听器名称=默认套接字绑定=HTTP/>    <主机名=默认主机默认Web模块=myapp1.war别名为webapp.domain1.com/>
    <主机名=其他主机默认Web模块=myapp2.war别名为test.domain2.net/>
  < /服务器>  < servlet的容器​​名称=默认>
    < JSP的配置/>
  < / servlet的容器​​>  <过滤器和GT;
    <响应头名=服务器头头值=WildFly / 8头名=服务器/>
    <响应头名=X供电逐头头值=暗潮/ 1头名=X供电,通过/>
  < /过滤器>
< /子系统>

指向在该请求webapp.domain1.com或test.domain2.net结果的浏览器发送到WildFly服务器如预期的,但同样的战争文件(myapp1.war)在这两种情况下被触发。

切换的&lt的名称值;主机... />被称为如下的myapp2.war结果元素被用于任何网址: -

 <主机名=其他主机默认Web模块=myapp1.war别名为webapp.domain1.com/>
    <主机名=默认主机默认Web模块=myapp2.war别名为test.domain2.net/>

它看起来像暗潮只处理默认主机条目的详细信息。

在这里任何人都可以在这方面帮助吗?

如果做不到这一点,没有人知道是否(以及如何)WildFly可以与Apache网络服务器使用?

非常感谢,

安德鲁


解决方案

这是目前暗潮子系统实现中的错误。
它只正确处理默认Web模块默认主机,甚至没有考虑到这一点非默认的主机。

我创建 https://issues.jboss.org/browse/WFLY-3639 以跟踪及;解决它。

作为一种变通方法,直到这个是固定的添加

的jboss-web.xml中 WEB-INF 您myapp2.war的

与内容:

 < JBoss的的Web>
    <虚拟主机>其他主机< /虚拟主机>
    <上下文根> /< /上下文根>
< /的jboss-网>

这将告诉服务器主机什么功放&;上下文根应必然。

WildFly 8.1.0 Final Windows Server 2012 R2

I have two sub-domains pointing at this server, and I want requests to each sub-domain to trigger a different war file:-

webapp.domain1.com -> WildFly Server -> myapp1.war
test.domain2.net -> WildFly Server -> myapp2.war

My standalone.xml file is currently configured as follows based on advice received on the JBoss Developer site:-

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

Pointing a browser at webapp.domain1.com or test.domain2.net results in the request being sent to the WildFly server as expected, but the same war file (myapp1.war) is triggered in both cases.

Switching the 'name' values of the <host .../> elements as follows results in myapp2.war being called whichever URL is used:-

    <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"/>

It looks like Undertow is only processing details of the "default-host" entry.

Can anyone here help with this please?

Failing that, does anyone know if (and how) WildFly can be used with Apache Web Server?

Many thanks,

Andrew

解决方案

This is a bug in current undertow subsystem implementation. It only properly processes default-web-module for default host and doesn't even take it into account for non default hosts.

I created https://issues.jboss.org/browse/WFLY-3639 to track & fix it.

as a workaround until this is fixed add

jboss-web.xml to WEB-INF of your myapp2.war

with content:

<jboss-web>
    <virtual-host>other-host</virtual-host>
    <context-root>/</context-root>
</jboss-web>

which will tell server to what host & context root it should be bound to.

这篇关于WildFly - &GT;暗潮 - &GT;马平子战争文件无法正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆