プログラムで Pax-Web 経由で Jetty コネクタを追加する可能性 (API) はありますか。Pax-Web は内部的に優れたJettyServer
インターフェースを使用していますが、利用可能な OSGi サービスはないようです。使用可能にする必要があるポートは事前にわからないためjetty.xml
、構成目的で使用することはできません。
誰にもアイデアはありますか?
プログラムで Pax-Web 経由で Jetty コネクタを追加する可能性 (API) はありますか。Pax-Web は内部的に優れたJettyServer
インターフェースを使用していますが、利用可能な OSGi サービスはないようです。使用可能にする必要があるポートは事前にわからないためjetty.xml
、構成目的で使用することはできません。
誰にもアイデアはありますか?
ポートを変更したいだけのように見えるので、OSGi の方法でそれを行い、適切な構成で pax web を構成するだけです。ここも参照してください: https://ops4j1.jira.com/wiki/display/paxweb/Basic+Configuration
問題の構成は org.osgi.service.http.port です
このポートは、構成管理サービスによって構成できます。構成が変更された場合、jetty サーバーが再起動されます。
サービスに関する最初の質問に関しては、現在これはできませんが、利用可能な JIRA の問題があり、貢献は非常に高く評価されています。
PaxWeb 4.1.0 以降では、必要なコネクタをサービスとして登録することで登録できます (たとえば、Poodle の脆弱性に対して SSL プロトコルを除外できます)。
SslContextFactory contextFactory = new SslContextFactory();
contextFactory.addExcludeProtocols("SSLv2Hello", "SSLv3");
contextFactory.setKeyStorePath("PATH_TO_KEYSTORE");
contextFactory.setKeyStorePassword("KEYSTORE_PASSWORD");
contextFactory.setTrustStore("PATH_TO_TRUSTSTORE");
contextFactory.setTrustStorePassword("TRUSTSTORE_PASSWORD");
contextFactory.setNeedClientAuth(true);
contextFactory.setWantClientAuth(true);
Connector sc = new SslSelectChannelConnector(contextFactory);
sc.setPort(8443);
ServiceRegistration<Connector> registerService = bundleContext.registerService(Connector.class, sc, null);
主に pax Web ドキュメントhttp://ops4j.github.io/pax/web/SNAPSHOT/から取得