以编程方式为嵌入式Jetty 9配置SSL [英] Programmatically Configure SSL for Jetty 9 embedded
问题描述
我正在使用Jetty版本9.0.0.M4,并尝试将其配置为接受SSL连接. 按照以下说明进行操作: http://www.eclipse.org/jetty/documentation/current/configuring-connectors.html
I'm using jetty version 9.0.0.M4 and am trying to configure it to accept SSL connections. following the instructions in: http://www.eclipse.org/jetty/documentation/current/configuring-connectors.html
我设法写了一些有用的东西. 但是,我编写的代码看起来丑陋且不必要地复杂. 知道如何正确执行此操作吗?
I've managed to write something that works. However, the code I wrote seems ugly and unnecessarily complex. Any idea how to do this properly?
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();
推荐答案
The rest of the work you are doing in the HttpConfiguration is irrelevant to setting up SSL.
要更加清楚(感谢Erik)
更新:2016年6月
Eclipse Jetty项目已将其规范存储库移至github.
The Eclipse Jetty Project has moved its canonical repository to github.
上面的LikeJettyXml.java
现在可以在