1

アプリケーションのすべてのページですべてのユーザーにSSLを使用するように強制したいと思います。私はmavan3を使用しており、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はTomcat7を戦争に組み込んでいると思います。したがって、SSLを手動で構成できるserver.xmlファイルはありません。pom.xmlでSSLを構成するにはどうすればよいですか?

2)すべてのリクエストが8443に転送されるようにするにはどうすればよいですか?

4

3 に答える 3

3

「サーバー」属性が問題を引き起こしている可能性があると感じています。オプションではないTomcatプラグインのドキュメントによると。Tomcat の「run」コマンドのプラグイン オプションの (非常に見つけにくい) リストを次に示します。http://mojo.codehaus.org/tomcat-maven-plugin/run-mojo.html頑張ってください。同じではありませんが、同様の問題がありました。これがうまくいくことを願っています。

于 2012-10-31T19:43:24.073 に答える
0

これは、Tomcat 7 の SSL を構成する方法です: http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html

次に、プラグインによって開始されたこの組み込み Tomcat に server.xml を追加する必要があります: http://tomcat.apache.org/maven-plugin-2.0-SNAPSHOT/tomcat7-maven-plugin/run-mojo.html#serverXml

次に、8080 から 8443 への転送は、おそらくサーブレット リスナー内で、アプリケーションによって内部的に行われる必要があります]。参照: Web アプリケーションに HTTPS ログイン ページを実装する方法

于 2012-09-16T17:45:20.393 に答える