如何将 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
到 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);
希望对你有帮助,
蒂埃里
我正在使用 Restlet 2.3.2
我想要 运行 一个同时具有 HTTP 和 HTTPS 协议的 Restlet 服务器,但我想为每个服务器附加一个不同的 restlet。例如,restletUnsecure
到 HTTP 但 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);
希望对你有帮助, 蒂埃里