2012-06-20 46 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>