2012-06-20 160 views
0

我幾乎接近完成我的Tomcat配置。Apache Tomcat安全性

我遇到的麻煩是關於我的客戶端應用程序和我的瀏覽器。

我希望當用戶通過瀏覽器訪問Tomcat時,它只能通過https訪問,以便我可以使用證書進行身份驗證。

在我的客戶端應用程序中,當我與axis2通信時,我只想使用http,所以我不會超載服務器。我使用帶有使用證書的密碼回調的apache rampart,所以沒有使用https的問題。

現在,這是問題開始。這是我設法開始工作的地方:

在tomcat上允許使用SSL,客戶端認證就像瀏覽器的魅力一樣。

但是,服務器仍然可以通過

http://localhost:8080 

這裏訪問是我在server.xml中關於這個問題:

<Connector port="8080" protocolo="HTTP/1.1" redirectPort="8443" /> 

<Connector port="8443" maxThreads="150" scheme="https" secure="true" SSLEnabled="true" keystoreFile="conf/service.jks" keystorePass="password" clientAuth="true" keyAlias="service" sslProtocol="TLS"/> 

難道不應該重定向到8443端口?

我的客戶端應用程序可以通過8080端口正常通信。

那麼我做錯了什麼?

回答

1

您是否在應用程序的web.xml中定義了安全約束?如果不是,請嘗試添加如下內容:

<security-constraint> 
    <web-resource-collection> 
    <web-resource-name>SSL Forwarding</web-resource-name> 
    <url-pattern>/*</url-pattern> 
    </web-resource-collection> 
    <user-data-constraint> 
    <transport-guarantee>CONFIDENTIAL</transport-guarantee> 
    </user-data-constraint> 
</security-constraint>