2010-03-08 4 views
8

Wir implementieren eine Anwendung mit einem Webservice als Komponente und entschieden uns, die Glassfish 3.0 Embedded Distribution zu verwenden, um den Webservice bereitzustellen. Und es funktioniert.Wie aktiviert man SSL (HTTPS) in der Glassfish 3.0 Embedded API?

Wir benötigen eine SSL (HTTPS) Verbindung zum Webservice, aber wir haben weder eine Dokumentation noch einen Hinweis gefunden, wie man sie über die eingebettete API programmatisch aktiviert.

Also haben wir versucht, den eingebetteten Glassfish über domain.xml zu konfigurieren, was einen Listener mit SSL konfiguriert hat. Und der Port ist erreichbar aber nur ohne SSL. Der eingebettete Glassfish scheint die Konfiguration zu ignorieren, um SSL für den Port zu aktivieren.

Hat jemand Erfahrung in der Konfiguration von eingebettetem Glassfish mit SSL?

+0

Nicht programmierungsbezogen? –

+0

Scheint ziemlich auf dem Ziel für Stackoverflow; Wenn wir sie zu Serverfault schicken, bekommen sie wirklich eine Antwort? – Will

+0

Diese Frage bezieht sich auf das Starten und Bearbeiten von GlassFish ** von ** Java mit der eingebetteten API von GlassFish. Es ist zu 100% programmierbezogen. –

Antwort

3

Ok, Entschuldigung, dass es so viel Zeit für meine Antwort brauchte.

Die programmatische eingebettete API scheint keine Möglichkeit zu bieten, diese Aufgabe zu erledigen. Außer ein asadmin Befehl auszuführen:

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(); 

Ausführen dieses Code ist simmlar auszuführen:

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

Aber diese Lösung schafft einen neuen Port mit SSL. Die Konfiguration des bereits gestarteten Ports wäre eine gute Option.