java - Apache Tomcat 安全

标签 java tomcat apache-axis rampart security-constraint

我即将完成 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 端口正常通信。

那我做错了什么?

最佳答案

您是否在应用程序的 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>

关于java - Apache Tomcat 安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11126145/

相关文章:

c# - Java 多线程/针对 Mono 的基准测试

java - Tomcat 8 可以更新 Java keystore 的新证书而不需要重新启动吗?

java - 为什么我不能部署包含一些外部 jar 文件的 java webservice ..?

java - 如何使用 JPA 将 SQL Server 2008 日期读取到 Java 中

java - 使用 c 调用 REST 服务,通过 GSM 调制解调器连接 - HTTP/1.1 505

apache-axis - AxisFault 位于 org.apache.axis2.AxisFault.makeFault

java - 未序列化的 Arraylist 始终为空

java - 嵌入式资源(媒体文件)在 jmf 和 Netbeans 中播放,但在制作项目的 jar 后视频无法播放

java - Aptana 在 ubuntu linux 上崩溃

java - 部署 WAR 时 Tomcat 7 运行时错误