Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
以编程方式为Jetty 9 embedded配置SSL_Ssl_Jetty - Fatal编程技术网

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

以编程方式为Jetty 9 embedded配置SSL,ssl,jetty,Ssl,Jetty,我正在使用jetty 9.0.0.M4版本,并尝试将其配置为接受SSL连接。 遵循中的说明: 我设法写了一些有用的东西。 然而,我写的代码看起来很难看,不必要的复杂。 你知道怎么做吗 final Server=新服务器(Config.Server.PORT); SslContextFactory contextFactory=新的SslContextFactory(); setKeyStorePath(Config.Location.KEYSTORE\u位置); setKeyStorePass

我正在使用jetty 9.0.0.M4版本,并尝试将其配置为接受SSL连接。 遵循中的说明:

我设法写了一些有用的东西。 然而,我写的代码看起来很难看,不必要的复杂。 你知道怎么做吗

final Server=新服务器(Config.Server.PORT);
SslContextFactory contextFactory=新的SslContextFactory();
setKeyStorePath(Config.Location.KEYSTORE\u位置);
setKeyStorePassword(“*******”);
SslConnectionFactory SslConnectionFactory=新的SslConnectionFactory(contextFactory,org.eclipse.jetty.http.HttpVersion.http_1_1.toString());
HttpConfiguration config=新的HttpConfiguration();
配置设置安全模式(“https”);
config.setSecureReport(config.Server.SSL_端口);
config.setOutputBufferSize(32786);
config.setRequestHeaderSize(8192);
config.setResponseHeaderSize(8192);
HttpConfiguration sslConfiguration=新的HttpConfiguration(配置);
addCustomizer(新的SecureRequestCustomizer());
HttpConnectionFactory HttpConnectionFactory=新的HttpConnectionFactory(SSL配置);
ServerConnector连接器=新的ServerConnector(服务器、sslConnectionFactory、httpConnectionFactory);
connector.setPort(Config.Server.SSL\u端口);
addConnector(连接器);
server.start();
join();
应使用设置


您在中所做的其余工作与设置SSL无关

项目中维护了在嵌入式模式下设置SSL的一个很好的示例。

编辑:为了更清楚(谢谢Erik)

更新日期:2016年6月

EclipseJetty项目已将其规范存储库移动到github

上面的
LikeJettyXml.java
现在可以在


对于Jetty 9,有一个很好的参考,您需要做的就是创建JKS密钥库文件,如前所述。
使用命令
keytool-genkey-alias sitename-keyalg RSA-keystore keystore.jks-keysize 2048
。由于某些原因,jetty 8的工作方式与jetty 9的工作方式不同。

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

“您在HttpConfiguration中所做的其余工作是不必要的。”-那么有没有更好的方法来设置请求/响应头大小?我不是说您不能使用它,只是,通常不需要它来实现你在问题中设定的目标。如果您需要控制标题,那么请务必使用HttpConfiguration。@JoakimErdfelt:我必须承认,“不必要”部分也让我困惑了几分钟。。。也许最好说“与设置SSL无关”。否则+1在这个问题上做得很好第一个链接不再有效。第二个链接可能只对那些已经对Jetty有了大量知识的人有用。