我的应用程序在WildFly 8.2上运行,应该完全使用HTTPS。
为此,在web.xml上,我有
<security-constraint>
<web-resource-collection>
<web-resource-name>App</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
然后,在standalone.xml上,我有,
<server name="default-server">
<http-listener name="http-default" socket-binding="http"/>
<https-listener name="https-default" socket-binding="https" security-realm="SSLRealm"/>
<host name="http-default" alias="localhost" default-web-module="sp.war">
<filter-ref name="server-header"/>
<filter-ref name="x-powered-by-header"/>
</host>
<host name="https-default" alias="sponline.tdata.com" default-web-module="sp.war">
</host>
</server>
和
<security-realm name="SSLRealm">
<server-identities>
<ssl>
<keystore path="sponline_keystore.jks" relative-to="jboss.server.config.dir" keystore-password="sponline2015" alias="sponline" key-password="GxXxXXxX"/>
</ssl>
</server-identities>
</security-realm>
现在,服务器绑定了2个域名 - HQDATADEV.TDATA.COM和SPONLINE.TDATA.COM。此设置由我们的内部政策强制执行。
现在,问题是应用程序配置为仅在SPONLINE.TDATA.COM上具有SSL。但是当我启动http://SPONLINE.TDATA.COM时,它会自动将我重定向到。
有人可以解释一下这种行为吗?可能是一个解决方案吗?
答案 0 :(得分:1)
如果我理解正确,那么您的应用程序应该仅针对SPONLINE.TDATA.COM运行(因为SSL要求)。
我会做以下。在应用程序的 WEB-INF/jboss-web.xml
中指定它仅对sponline
虚拟主机有效:
<jboss-web>
<context-root>/</context-root>
<virtual-host>sponline</virtual-host>
</jboss-web>
然后,您可以在standalone.xml
中保留默认主机配置并添加新配置 - "sponline"
。
<server name="default-server">
<http-listener name="default" socket-binding="http"/>
<https-listener name="https" socket-binding="https" security-realm="SSLRealm"/>
<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="sponline" alias="sponline.tdata.com"/>
</server>
安全领域"SSLRealm"
可以保持不变。