2014-03-13 27 views
5

我們已經在Glassfish v4上創建了一個Web站點,並且使用端口8080(http)和端口8081(https)。我們的思科防火牆將請求轉發到端口80到端口8080,並請求端口443到端口8081.如何使用glassfish v4將http重定向到https

但我們不希望用戶能夠訪問http站點。我們希望將所有請求重定向到http站點到https。如何做呢? 在Glassfish管理面板中,我們對配置 - >服務器配置 - >網絡監聽器 - > http-listener-1和http-listener-2進行了更改,以重定向到HTTP選項卡下的端口8081,但它不起作用。 用戶仍然可以從外面看到http網站。 謝謝你的幫助。

enter image description here

+0

如果您還在使用Java 7,這個答案對我有幫助:http://stackoverflow.com/a/25432386/1435605 – nilsonneto

回答

7

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更多信息見。