如何使用https / ssl与Maven / Mortbay Jetty插件?
我想使用ssl / https,如中所述
http://docs.codehaus.org/display/JETTY/How+to+configure+SSL
使用jetty-maven-plugin,但我不知道如何配置插件。 任何提示,示例,教程,演练?
另外,我想知道如何执行上述教程的步骤3b,其中需要对jetty服务器进行操作( java -classpath $JETTY_HOME/lib/jetty-util-6.1-SNAPSHOT.jar:$JETTY_HOME/lib/jetty-6.1-SNAPSHOT.jar org.mortbay.jetty.security.PKCS12Import jetty.pkcs12 keystore
)。
您可以使用Maven创建开发证书,并在启动Jetty时使用它。 首先,配置keytool-maven-plugin以创建开发证书:
org.codehaus.mojo keytool-maven-plugin generate-resources clean clean generate-resources genkey genkey ${project.build.directory}/jetty-ssl.keystore cn=my.hostname.tld jetty6 jetty6 jetty6 RSA
根据需要更改CN。 然后配置maven-jetty-plugin以使用开发证书:
org.mortbay.jetty maven-jetty-plugin 6.1.10 /context 5 8080 60000 8443 60000 ${project.build.directory}/jetty-ssl.keystore jetty6 jetty6
运行mvn jetty:run
并打开https:// localhost:8443 / context 。
如果您使用Pascal的解决方案得到此错误: –
Could not find goal 'genkey' in plugin org.codehaus.mojo:keytool-maven-plugin:1.3
- 使用’generateKeyPair’作为目标。 (我相信genKey已经弃用了。)
- 添加插件版本。
插件定义应如下所示: –
org.codehaus.mojo keytool-maven-plugin 1.3 generate-resources clean clean generate-resources genkey generateKeyPair ${project.build.directory}/jetty-ssl.keystore cn=my.hostname.tld jetty6 jetty6 jetty6 RSA
如果您想使用Jetty 9进行操作,请注意, 由于jetty-9.0不再可以直接在pom.xml中配置https连接器:您需要使用jetty xml配置文件来执行此操作。 [1] 。
这是一个例子:
的pom.xml
9.1.2.v20140210 ... org.eclipse.jetty jetty-server ${jetty-version} ... org.codehaus.mojo keytool-maven-plugin 1.3 generate-resources clean clean generate-resources genkey generateKeyPair ${project.build.directory}/jetty-ssl.keystore cn=127.0.0.1 dypBdX1NB3gXA0DXCy9nfyJ4jqUDlaydgbo9OU12g dypBdX1NB3gXA0DXCy9nfyJ4jqUDlaydgbo9OU12g jetty RSA org.eclipse.jetty jetty-maven-plugin ${jetty-version} src/main/resources/jetty.xml,src/main/resources/jetty-ssl.xml,src/main/resources/jetty-https.xml
docker,https.xml
-
http/1.1 -
30000
docker,ssl.xml
/ / - SSL_RSA_WITH_DES_CBC_SHA
- SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
的jetty.xml
https