]
Stuart Douglas commented on WFLY-9496:
--------------------------------------
It is because when the app attempts to redirect to SSL it thinks the correct port is 8443,
it does not know about the router and its port forward.
You need to add:
<socket-binding name="external-https" port="443"/>
Then change the HTTP listener:
<http-listener name="default" socket-binding="http"
redirect-socket="external-https" enable-http2="true"/>
That way it knows to redirect to 443 instead of 8443
WildFly 10.1 Final: Virtual Hosting
------------------------------------
Key: WFLY-9496
URL:
https://issues.jboss.org/browse/WFLY-9496
Project: WildFly
Issue Type: Bug
Components: Web (Undertow)
Affects Versions: 10.1.0.Final
Environment: Linux debian 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u5
(2017-09-19) x86_64 GNU/Linux
JAVA_HOME: null
java.version: 1.8.0_151
java.vm.vendor: Oracle Corporation
java.vm.version: 25.151-b12
os.name: Linux
os.version: 4.9.0-3-amd64
WildFly: 10.1.0.Final
Reporter: I J
Assignee: Stuart Douglas
Priority: Critical
Labels: new_and_noteworthy
Attachments: Screenshot from 2017-10-30 19-25-12.png, wireshareNative.gz.pcap,
wireshark
My configuration:
========= standalone-full.xml ===============
<subsystem xmlns="urn:jboss:domain:undertow:3.1">
<buffer-cache name="default"/>
<server name="default-server">
<http-listener name="default" socket-binding="http"
redirect-socket="https" enable-http2="true"/>
<https-listener name="https" socket-binding="https"
security-realm="ApplicationRealm" enable-http2="true"/>
<host name="default-host" alias="localhost">
<location name="/" handler="welcome-content"/>
<filter-ref name="server-header"/>
<filter-ref name="x-powered-by-header"/>
</host>
<host name="host1" alias="domain1.com,www.domain1.com"
default-web-module="domain1-war.war"/>
<host name="host2" alias="domain2.com,www.domain2.com"
default-web-module="domain2-war.war"/>
</server>
<servlet-container name="default">
<jsp-config/>
<websockets/>
</servlet-container>
<handlers>
<file name="welcome-content"
path="${jboss.home.dir}/www/welcome-content"/>
</handlers>
<filters>
<response-header name="server-header"
header-name="Server" header-value="WildFly/10"/>
<response-header name="x-powered-by-header"
header-name="X-Powered-By" header-value="Undertow/1"/>
</filters>
</subsystem>
============ /etc/hosts ============
127.0.0.1 localhost host1 host2
=========== domain1-war/WEB-INF/jboss-web.xml =========
<jboss-web>
<virtual-host>host1</virtual-host>
<context-root>/</context-root>
</jboss-web>
=========== domain2-war/WEB-INF/jboss-web.xml =========
<jboss-web>
<virtual-host>host2</virtual-host>
<context-root>/</context-root>
</jboss-web>
[EDIT] ============================================
Wildfly is launched as per: [opt/wildfly/bin] ./standalone.sh -b=0.0.0.0
-c=standalone-full.xml
Thus socket bindings should not be an issue.
Notes:
1. Server starts and all deploys and works as expected when access as host1:8080,
host2:8080, localhost:8080
Thus my webapps along with the wildfly default ROOT.war (welcome pages) work as
expected.
2. Router port 80 is forwarded to 8080
3. When using the server aliases as defined in standalone-full.xml, in my case
domain1.com or
domain2.com the server times out and I get nothing.
4. I have intercepted the request headers for
domain1.com and
domain2.com and they are
correct.