我们在Glassfish v4上创建了一个网站,它使用端口8080表示http,端口8081表示https。我们的cisco防火墙将请求转发到端口80到端口8080,并请求端口443到端口8081.
但我们不希望用户能够访问http网站。我们希望将所有请求重定向到http站点到https。怎么做到呢? 在Glassfish管理面板中,我们对配置进行了更改 - > server-config - >网络听众 - > http-listener-1和http-listener-2重定向到HTTP选项卡下的端口8081,但它无法正常工作。 用户仍然可以从外部看到http站点。 谢谢你的帮助。
答案 0 :(得分:8)
在war文件的WEB-INF中打开web.xml。在<web-app>
代码中添加以下代码行。
<web-app>
...
<security-constraint>
<web-resource-collection>
<web-resource-name>Viewpoint Secure URLs</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
</web-app>
有关详细信息,另请参阅The Java EE 6 Tutorial。