使用https时,Restlet参考方案将恢复为http

时间:2014-12-27 00:01:16

标签: restlet restlet-2.0

我有一个简单的Restlet应用程序,它使用restlet-jse-2.2.3中的嵌入式org.restlet.Server,它可以很好地与HTTP配合使用。在Restlet书之后,我将其转换为使用HTTPS。但是,在我的ServerResource实例中,getReference()使用HTTP方案返回引用,即使应用程序仅通过HTTPS访问。甚至org.restlet.routing.Redirector也很困惑,它采用了相对目标并返回了一个带有http模式的URI。

这是我的主要()的要点:

Component component = new Component();
Server server = component.getServers().add(Protocol.HTTPS, 8081);
Series<Parameter> parameters = server.getContext().getParameters();
parameters.add("keystorePath", ...);
parameters.add("keystorePassword", ...);
parameters.add("keystoreType", ...);
parameters.add("keyPassword", ...);
component.getDefaultHost().attachDefault(new MyApplication());
component.start();

在MyApplication.createInboundRoot()

Router router = new Router(getContext());
router.attach("/", new Redirector(getContext(), "/servers",
                                  Redirector.MODE_CLIENT_FOUND));
router.attach(...);
...

我的各种附加的ServerResource实例在作为https://my.host:MYPORT/...寻址时工作正常,但其getReference()方法返回的Reference实例始终采用http://my.host:MYPORT/...形式,迫使我将方案覆盖为https到生成 相对链接,点击https://my.host:MYPORT/会返回重定向到http://my.host:MYPORT/servers,当然会失败。

我错过了什么导致URI中的传入https方案被重写为http?

0 个答案:

没有答案