首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >以编程方式为Jetty 9 embedded配置SSL

以编程方式为Jetty 9 embedded配置SSL
EN

Stack Overflow用户
提问于 2013-01-16 23:44:10
回答 2查看 32.4K关注 0票数 24

我正在使用jetty版本9.0.0.M4,并尝试将其配置为接受SSL连接。按照中的说明进行操作:http://www.eclipse.org/jetty/documentation/current/configuring-connectors.html

我已经设法写出了一些有用的东西。然而,我写的代码看起来丑陋和不必要的复杂。你知道该怎么做吗?

代码语言:javascript
复制
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();
EN

回答 2

Stack Overflow用户

发布于 2013-06-15 21:47:05

对于Jetty9,有一个很好的参考here,您所需要做的就是按照here的说明创建JKS keystore文件。使用命令keytool -genkey -alias sitename -keyalg RSA -keystore keystore.jks -keysize 2048。由于某些原因,在jetty 8上工作的并不是在9上工作的。

票数 5
EN

Stack Overflow用户

发布于 2014-10-27 00:59:52

对于那些无法使用上述配置的用户:如果您使用的是java1.7,请确保安装了最新的更新。jvm 1.7的第一个版本会导致访问https网页时出现问题(浏览器可能会显示:连接重置、连接中止或未收到数据错误)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14362245

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档