繁体   English   中英

如何将Restlet附加到特定的URL路径方案(HTTP或HTTPS)?

[英]How to attach a restlet to a partiular URL path scheme (HTTP or HTTPS)?

我正在使用Restlet 2.3.2

我想同时运行具有HTTP和HTTPS协议的Restlet服务器,但是我想为每个服务器附加一个不同的Restlet。 例如, restletUnsecure对HTTP restletSecure ,而restletSecure对HTTPS安全。 实际上,仅将一个restlet附加到路径/test正常工作。

我尝试像这样在附加时将方案放入URI中,但这不起作用(我的浏览器找不到页面):

Server server = component.getServers().add(Protocol.HTTPS, 8443);
component.getServers().add(Protocol.HTTP, 8080);
[...]
component.getDefaultHost().attach("https://localhost:8443/test", restletSecure);
component.getDefaultHost().attach("http://localhost:8080/test", restletUnsecure);

我该如何实现?

我认为您应该定义特定的虚拟主机HTTP和HTTPS请求,如下所述:

Component component = (...)

// HTTPS
VirtualHost hostHttps
      = new VirtualHost(component.getContext());
component.getHosts().add(hostHttps);
hostHttps.setHostScheme("https");

Restlet restletSecure = (...)
hostHttps.attachDefault(restletSecure);

// HTTP
VirtualHost hostHttp
      = new VirtualHost(component.getContext());
component.getHosts().add(hostHttp);
hostHttp.setHostScheme("http");

Restlet restletUnsecure = (...)
hostHttp.attachDefault(restletUnsecure);

希望对您有帮助,蒂埃里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM