Maven Tomcat插件上的SSL配置

时间:2012-07-24 14:50:11

标签: ssl tomcat7 maven-tomcat-plugin

我正在尝试开发一个Wicket应用程序。它的登录页面必须使用SSL打开。所以我做了一些编码。 但我找不到为SSL配置maven tomcat 7插件。 我正确创建了密钥库文件。使用keytool -genkey -alias tomcat -keyalg RSA命令 它位于windows上的用户目录中。密码是密码。

这是我在pom.xml中定义tomcat的方式:

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.0-beta-1</version>
    <executions>
        <execution>
            <id>tomcat-run</id>
            <goals>
                <goal>exec-war-only</goal>
            </goals>
            <phase>package</phase>
            <configuration>
                <path>foo</path>
                <!-- optional only if you want to use a preconfigured server.xml file -->
                <serverXml>src/main/tomcatconf/server.xml</serverXml>
                <!-- optional values which can be configurable -->
                <attachArtifactClassifier>
                                    default value is exec-war but you can   customize
                                </attachArtifactClassifier>
                <attachArtifactClassifierType>
                                      default value is jar
                                </attachArtifactClassifierType>
                <httpsPort>8443</httpsPort>
                <keystoreFile>${user.home}/.keystore</keystoreFile>
                <keystorePass>password</keystorePass>
                <protocol>org.apache.coyote.http11.Http11AprProtocol</protocol>
            </configuration>
        </execution>
    </executions>
</plugin>

2 个答案:

答案 0 :(得分:21)

在我的pom.xml中使用此配置,我得到它的工作:

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.0</version>
    <configuration>
        <path>/${project.build.finalName}</path>
        <contextFile>${basedir}/context.xml</contextFile>
        <httpsPort>8443</httpsPort>
        <keystoreFile>${basedir}/certificates/keystore.jks</keystoreFile>
        <keystorePass>password</keystorePass>
    </configuration>
</plugin>

答案 1 :(得分:6)

我能够使用它:

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.0</version>
    <configuration>
        <path>/mycontext</path>
        <port>9090</port>
        <httpsPort>8443</httpsPort>
        <keystorePass>changeit</keystorePass>
    </configuration>
</plugin>

请确保您从文档中创建密钥库:http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html(看起来您已经拥有该部分),最终对我有用的是创建密钥库(在默认目录中),并将两个密码都设置为“changeit” “......不知道为什么,但对我来说这种情况确实没问题,因为这只适用于本地开发。

我在Windows 7,Maven 3上运行。

希望这有帮助。