Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Hosting multiple domains with WildFly (Undertow)

For example I have two domains (app1.com, app2.com) and two ears (app1.ear, app2.ear). Each EAR file consists of ejb.jar and web.war. Also each WAR has context root: /app1 or /app2.

So if I start WildFly I will have two applications running on localhost:8080/app1 and localhost:8080/app2.

How I can bind app1.com to localhost:8080/app1 and app2.com to localhost:8080/app2?

As I understand, I should modify Undertow subsystem configuration in standalone.xml. I tried:

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

but it's doesn't work.

like image 588
Ivan Babanin Avatar asked Aug 19 '14 12:08

Ivan Babanin


1 Answers

Add WEB-INF/jboss-web.xml

with contents

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

and similarly for second war.

like image 144
Tomaz Cerar Avatar answered Nov 03 '22 13:11

Tomaz Cerar