使用 WildFly (Undertow) 托管多个域

Posted

技术标签:

【中文标题】使用 WildFly (Undertow) 托管多个域【英文标题】:Hosting multiple domains with WildFly (Undertow) 【发布时间】:2014-10-12 12:50:33 【问题描述】:

例如,我有两个域(app1.comapp2.com)和两个耳朵(app1.ear app2.ear)。每个 EAR 文件由 ejb.jar 和 web.war 组成。此外,每个 WAR 都有上下文根:/app1/app2

因此,如果我启动 WildFly,我将在 localhost:8080/app1localhost:8080/app2 上运行两个应用程序。

如何将 app1.com 绑定到 localhost:8080/app1 并将 app2.com 绑定到 localhost:8080/app2

据我了解,我应该在standalone.xml 中修改Undertow 子系统配置。我试过了:

<server name="default-server">
    <http-listener name="default" socket-binding="http"/>
    <host name="app1.com" default-web-module="app1.ear/web.war"/>
    <host name="app2.com" default-web-module="app2.ear/web.war"/>
</server>

但它不起作用。

【问题讨论】:

【参考方案1】:

添加WEB-INF/jboss-web.xml

有内容

<jboss-web>
  <context-root>app1</context-root>
  <virtual-host>app1.com</virtual-host>
</jboss-web>

第二次战争也是如此。

【讨论】:

这对我不起作用。仅当我使用 URL app1.com/app1 时。但是如果我想从根上下文(app1.com)访问 app1,如何配置? 然后将 context-root 设置为 / 我试过了,但对我不起作用(使用 Wildfly 8.2) 请创建新问题并发布您的配置,以便我们为您提供帮助。

以上是关于使用 WildFly (Undertow) 托管多个域的主要内容,如果未能解决你的问题,请参考以下文章

Wildfly Undertow 中的 HTTPS 重定向

Undertow:WAR 文件之外的静态根内容(wildfly)

Wildfly / Undertow:一台主机的多个别名

Wildfly Undertow 文件 Mimetypes

如果不接受 cookie,配置 WildFly/Undertow 以将 JSESSIONID 放在 URL 上

以编程方式在 Wildfly/Undertow 中创建虚拟主机