24

jetty バージョン 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();
4

3 に答える 3

11

ServerConnectorでセットアップする必要がありますSslContextFactory

HttpConfigurationで行っている残りの作業は、SSL の設定とは関係ありません。

組み込みモードで SSL を設定する良い例は、組み込みの jetty examplesプロジェクトに保持されています。 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 Jetty Project は、正規リポジトリを 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

于 2013-01-16T21:55:46.900 に答える
0

上記の構成が機能しない場合: Java 1.7 を使用している場合は、最新の更新があることを確認してください。jvm 1.7 の最初のバージョンでは、https Web ページへのアクセスで問題が発生します (ブラウザに次のように表示される場合があります: 接続のリセット、接続の中止、またはデータ受信エラー)。

于 2014-10-26T16:59:51.550 に答える