2010-03-08 10 views
8

Estamos implementando una aplicación con un servicio web como componente y decidimos utilizar la distribución incrustada Glassfish 3.0 para proporcionar el servicio web. Y funciona.¿Cómo activar SSL (HTTPS) en Glassfish 3.0 embedded API?

Necesitamos una conexión SSL (HTTPS) para el servicio web, pero no encontramos ninguna documentación o sugerencia sobre cómo activarla mediante programación a través de la API incrustada.

Por lo tanto, intentamos configurar el Glassfish incrustado a través de domain.xml, lo que tiene un oyente configurado con SSL. Y el puerto es alcanzable pero solo sin SSL. Los Glassfish incrustados parecen ignorar la configuración para activar SSL para el puerto.

¿Alguien ha tenido experiencia en la configuración de Glassfish incrustado con SSL?

+0

¿No está relacionado con la programación? –

+0

Parece bastante en el objetivo para stackoverflow; si los enviamos a serverfault, ¿realmente obtendrán una respuesta? – Will

+0

Esta pregunta se trata de iniciar y manipular GlassFish ** de ** Java utilizando la API incrustada de GlassFish. Es 100% relacionado con la programación. –

Respuesta

3

Ok, siento que haya tardado tanto tiempo en responder.

Parece que la API programática integrada no proporciona una manera de realizar esta tarea. Excepto para ejecutar un comando 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(); 

La ejecución de este código es simmlar para ejecutar:

asadmin create-http-listener --listeneraddress 0.0.0.0 --listenerport 443 --defaultvs server securityenabled=true --enabled=true http-listener2 

Pero esta solución crea un nuevo puerto con SSL. Reconfigurar el puerto ya iniciado sería una buena opción.

Cuestiones relacionadas