0

我快要完成我的Tomcat 配置了。

我遇到的麻烦与我的客户端应用程序和浏览器有关。

我希望当用户使用他的浏览器访问 Tomcat 时,它只能通过 https 访问,以便我可以使用证书进行身份验证。

在我的客户端应用程序中,当我与axis2通信时,我只想使用http,所以我不会超载服务器。我正在使用带有使用证书的密码回调的 apache 壁垒,因此不使用 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 端口毫无问题地进行通信。

那么我做错了什么?

4

1 回答 1

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>
于 2012-06-21T17:02:04.963 回答