我想强制所有用户对我应用程序中的所有页面使用 SSL。我正在使用 mavan 3 并在 maven 中使用了这个插件:
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0-SNAPSHOT</version>
<configuration>
<server>TomcatServer</server>
<httpsPort>8443</httpsPort>
<keystoreFile>-- My keystore path --</keystoreFile>
<keystorePass>-- My keystore pass --</keystorePass>
<path>/</path>
</configuration>
</plugin>
在通过 maven (mvn tomcat7:run) 运行服务器时,我的服务器日志是这样的:
...
INFO: Initializing Spring root WebApplicationContext
Sep 16, 2012 9:55:17 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Sep 16, 2012 9:55:17 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8443"]
但是,当我使用 https 访问该页面时,我在 chrome 中收到 SSL 连接错误,并且“SSL 收到的记录超出了最大允许长度。”在 Firefox 中。
1) 我相信 maven 在 war 中嵌入了 Tomcat 7。因此,没有我可以手动配置 SSL 的 server.xml 文件。如何在我的 pom.xml 中配置 SSL?
2) 如何确保所有请求都转发到 8443?
最佳答案
我感觉“服务器”属性可能导致了您的问题。根据 Tomcat 插件文档,这不是一个选项。这是 Tomcat“运行”命令的插件选项列表(很难找到)。 http://mojo.codehaus.org/tomcat-maven-plugin/run-mojo.html祝你好运。我有一个类似的问题,虽然不一样。我希望这对你有用。
关于security - 在 tomcat 7 中强制 ssl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12448677/