【问题标题】:Restlet - how to expose a resource with both HTTP/HTTPS?Restlet - 如何使用 HTTP/HTTPS 公开资源?
【发布时间】:2017-03-14 21:01:36
【问题描述】:

使用 restlet 2.3.1。我有一个通过 HTTP 公开的资源。是否也可以通过 HTTPS 公开它?下面的 sn-p 显示了我的服务器今天的样子:

final Router router = new Router();

Filter filter = new Filter(){};

filter.setNext( DaemonsResource.class );
router.attach( "daemons/{p1}", filter );

Application myApp = new Application() 
{
    @Override
    public org.restlet.Restlet createInboundRoot()
    {
        router.setContext(getContext());

        return router;
    };
};

Component component = new Component();

component.getDefaultHost().attach( "/", myApp );

new Server( Protocol.HTTP, port, component ).start();

我已经从 CA 获得了 crt,并在其上构建了密钥库。

谢谢!

【问题讨论】:

    标签: java ssl keystore restlet


    【解决方案1】:

    试试类似的东西:

    Component component = new Component();
    Server server = component.getServers().add(Protocol.HTTPS, 8082);
    
    component.getDefaultHost().attach( "/", myApp );
    component.start();
    

    见restlet tutorials

    设置您的密钥库等,

    Series<Parameter> parameters = server.getContext().getParameters();
    parameters.add("keystorePath","add_keystore_file_path_here"));
    parameters.add("keystorePassword", "mypassword");
    parameters.add("keyPassword", "mypassword");
    parameters.add("keystoreType", "PKCS12");  
    
    // Start the component.
    component.start(); 
    

    见restlet mailing list这个消息有点过时了,但参数应该还是一样的

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-15
      • 2010-12-31
      • 2011-12-02
      相关资源
      最近更新 更多