Security Tomcat7中的强制ssl

Security Tomcat7中的强制ssl,security,maven,ssl,tomcat7,Security,Maven,Ssl,Tomcat7,我想强制所有用户对我的应用程序中的所有页面使用SSL。我正在使用mavan 3,并在maven中使用了此插件: <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.0-SNA

我想强制所有用户对我的应用程序中的所有页面使用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>
然而,当我使用https访问页面时,我在chrome中看到SSL连接错误,在firefox中看到“SSL收到的记录超过了允许的最大长度”

1) 我相信maven在战争中嵌入了Tomcat7。因此,没有server.xml文件可以在其中手动配置SSL。如何在pom.xml中配置SSL


2) 如何确保所有请求都转发到8443?

这是您应该如何为Tomcat 7配置SSL的:

然后,您需要将server.xml添加到这个嵌入式Tomcat,由插件启动:


然后,从8080到8443的转发应该由应用程序内部完成,可能是在servlet侦听器中完成的。另请参见:

我感觉“服务器”属性可能导致您的问题。根据Tomcat插件文档,这不是一个选项。下面是Tomcat“run”命令的插件选项列表(很难找到)。祝你好运我也有类似的问题,虽然不一样。我希望这对您有用。

我也有同样的问题,所以我单独托管了Tomcat,然后通过使用JDK keytool生成jks文件在server.xml中配置了ssl证书。 因此,所有应用程序都可以托管在具有安全https链接的同一个tomcat中

在server.xml文件中添加以下代码,并执行从8443到443的端口转发

...
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"]