restlet 2.0.15 から 2.1.1 にアップデートしてみました。エラーは発生せず、アプリケーションを開始できます。デフォルトの restlet コネクタを使用していますが、SSL で保護されたコンテンツに https:/url:port/ 経由でアクセスしようとすると、常にタイムアウトになり、まったくログがありません。HTTP コネクタは正常に動作します。
シンプルなフレームワークも使用してみましたが、restlet はシンプルで HTTP コネクタのみを開始し、https はまだ内部で開始しますか?
これが私の現在の構成です:
this.componentHTTPS = new Component();
this.componentHTTP = new Component();
Server serverHTTPS = new Server(Protocol.HTTPS, this.sslPort);
Server serverHTTP = new Server(Protocol.HTTP, this.port);
serverHTTPS.setContext(this.componentHTTPS.getContext().createChildContext());
Router routerHTTP = new Router(serverHTTP.getContext());
String redirectTarget = this.sslURI + ":" + this.sslPort;
Redirector redirector = new Redirector(serverHTTP.getContext(),
redirectTarget, Redirector.MODE_CLIENT_PERMANENT);
Extractor extractor = new Extractor(serverHTTP.getContext(), redirector);
extractor.extractFromQuery("", "", false);
routerHTTP.attach("/", extractor);
componentHTTP.getServers().add(serverHTTP);
componentHTTPS.getServers().add(serverHTTPS);
Series<Parameter> parametersHTTPS = serverHTTPS.getContext().getParameters();
// increase maximumSeries<Parameter>ds (RESTlet default is 10)
parametersHTTPS.add("maxThreads", this.maxThreads);
parametersHTTPS.add("sslContextFactory","org.restlet.ext.ssl.PkixSslContextFactory");
parametersHTTPS.add("keystorePath", this.keystorePath);
parametersHTTPS.add("keystorePassword", this.keystorePassword);
parametersHTTPS.add("keystoreType", this.keystoreType);
parametersHTTPS.add("keyPassword", this.keyPassword);
parametersHTTPS.add("needClientAuthentication", "false");
componentHTTPS.getDefaultHost().attach("/", webApplication);
// Start the http redirect component
componentHTTP.getDefaultHost().attach("/",
new RedirectApplication(redirectTarget));
this.componentHTTPS.start();
this.componentHTTP.start();
他の誰かがこの問題を抱えているか、解決策を知っていますか? 以前の restlet 2.0.* バージョンでは、コードは問題なく動作しました。
よろしく