编程方式配置SSL的码头9嵌入式(Programmatically Configure SSL fo

2019-07-18 07:28发布

我使用的码头版本9.0.0.M4,我试图将其配置为接受SSL连接。 以下中说明: http://www.eclipse.org/jetty/documentation/current/configuring-connectors.html

我已经成功地写一些作品。 不过,我写的代码看起来丑陋和不必要的复杂。 任何想法如何做到这正常吗?

final Server server = new Server(Config.Server.PORT);

SslContextFactory contextFactory = new SslContextFactory();
contextFactory.setKeyStorePath(Config.Location.KEYSTORE_LOCATION);
contextFactory.setKeyStorePassword("******");
SslConnectionFactory sslConnectionFactory = new SslConnectionFactory(contextFactory, org.eclipse.jetty.http.HttpVersion.HTTP_1_1.toString());

HttpConfiguration config = new HttpConfiguration();
config.setSecureScheme("https");
config.setSecurePort(Config.Server.SSL_PORT);
config.setOutputBufferSize(32786);
config.setRequestHeaderSize(8192);
config.setResponseHeaderSize(8192);
HttpConfiguration sslConfiguration = new HttpConfiguration(config);
sslConfiguration.addCustomizer(new SecureRequestCustomizer());
HttpConnectionFactory httpConnectionFactory = new HttpConnectionFactory(sslConfiguration);

ServerConnector connector = new ServerConnector(server, sslConnectionFactory, httpConnectionFactory);
connector.setPort(Config.Server.SSL_PORT);
server.addConnector(connector);

server.start();
server.join();

Answer 1:

ServerConnector应设置与SslContextFactory

您在正在做的工作的其余部分HttpConfiguration无关设置SSL。

设置在嵌入模式SSL的一个很好的例子被保持在嵌入码头例子项目。 http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/examples/embedded/src/main/java/org/eclipse/jetty/embedded/LikeJettyXml.java

编辑:更清晰(感谢埃里克)

更新:2016年6月

Eclipse的码头项目已将其规范资源库github上。

上述LikeJettyXml.java现在可以在找到

https://github.com/eclipse/jetty.project/blob/jetty-9.4.x/examples/embedded/src/main/java/org/eclipse/jetty/embedded/LikeJettyXml.java



Answer 2:

对于码头9有一个很好的参考这里和所有你需要做的就是创建JKS密钥库文件作为说明在这里 。 使用命令keytool -genkey -alias sitename -keyalg RSA -keystore keystore.jks -keysize 2048 。 出于某种原因,用什么码头8部作品是不是在9的作品。



Answer 3:

对于那些谁不能得到上面的配置工作:如果您使用的是Java 1.7,请确保您有它的最新更新。 与访问的https网页的JVM 1.7原因的问题第一版本(浏览器可以显示:连接复位,连接中止,或者没有数据接收错误)。



文章来源: Programmatically Configure SSL for Jetty 9 embedded
标签: ssl Jetty