gpt4 book ai didi

apache - WildFly -> Undertow -> 将子域映射到 war 文件不起作用

转载 作者:行者123 更新时间:2023-12-04 17:09:40 24 4
gpt4 key购买 nike

WildFly 8.1.0 最终版
window 服务器 2012 R2

我有两个指向此服务器的子域,我希望对每个子域的请求触发不同的 war 文件:-

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

我的standalone.xml 文件目前根据在 JBoss 开发者网站上收到的建议配置如下:-
<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>

将浏览器指向 webapp.domain1.com 或 test.domain2.net 会导致请求按预期发送到 WildFly 服务器,但在这两种情况下都会触发相同的 war 文件 (myapp1.war)。

如下切换 元素的“名称”值会导致 myapp2.war 被调用,无论使用哪个 URL:-
    <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"/>

看起来 Undertow 只处理“默认主机”条目的详细信息。

请问这里有人可以帮忙吗?

如果做不到这一点,有谁知道 WildFly 是否(以及如何)可以与 Apache Web Server 一起使用?

最佳答案

这是当前 undertow 子系统实现中的一个错误。
它只正确处理默认主机的默认网络模块,甚至不考虑非默认主机。

我创建了 https://issues.jboss.org/browse/WFLY-3639跟踪和修复它。

作为解决方法,直到解决此问题添加
jboss-web.xmlWEB-INF你的 myapp2.war

内容:

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

这将告诉服务器它应该绑定(bind)到哪个主机和上下文根。

关于apache - WildFly -> Undertow -> 将子域映射到 war 文件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24451699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com