如何在Glassfish 3.0嵌入式API中激活SSL(HTTPS)?

Cra*_*Doc 8 java ssl glassfish

我们正在使用webservice作为组件实现一个应用程序,并决定使用Glassfish 3.0嵌入式distri来提供web服务.它有效.

我们需要与Web服务建立SSL(HTTPS)连接,但我们没有找到任何文档或提示如何通过嵌入式API以编程方式激活它.

因此,我们尝试通过domain.xml配置嵌入式Glassfish,这是一个配置了SSL的侦听器.并且端口可以访问,但只能没有SSL.嵌入式Glassfish似乎忽略了为端口激活SSL的配置.

有没有人使用SSL配置嵌入式Glassfish?

Cra*_*Doc 3

好吧,抱歉我花了这么长时间才回答。

编程嵌入式 API 似乎没有提供完成此任务的方法。运行 asadmin 命令除外:

logger.debug("Configure port for SSL");
        String command = "create-http-listener";
        ParameterMap params = new ParameterMap();
        params.add("listeneraddress", "0.0.0.0");
        params.add("listenerport", "443");
        params.add("defaultvs", "server");
        params.add("securityenabled", "true");
        params.add("enabled", "true");
        params.add("DEFAULT", "http-listener2");
        CommandRunner runner = server.getHabitat().getComponent(CommandRunner.class);
        ActionReport report = server.getHabitat().getComponent(ActionReport.class);
        runner.getCommandInvocation(command, report).parameters(params).execute();
Run Code Online (Sandbox Code Playgroud)

运行此代码类似于执行:

asadmin create-http-listener --listeneraddress 0.0.0.0 --listenerport 443 --defaultvs server securityenabled=true --enabled=true http-listener2
Run Code Online (Sandbox Code Playgroud)

但此解决方案使用 SSL 创建一个新端口。重新配置已经启动的端口将是一个不错的选择。