Momentan habe ich ein Problem damit, meinen Grizzly Server mit HTTPS laufen zu lassen. Ich benutze es in Kombination mit Jersey.Secure Grizzly HttpServer (HTTPS)
Grizzly Version ist: 2.3.23
Jersey Version: 2.24.1
Hier ist, wie ich starten Sie den Server:
public class Main {
public static final String BASE_URI = "https://localhost:8443/api/";
private static final String KEYSTORE_LOC = "I:\\rest-api\\keystore";
//private static final String KEYSTORE_LOC = "./server.cert";
private static final String KEYSTORE_PASS= "somepw123";
public static HttpServer startServer() {
final ResourceConfig rc = new ResourceConfig()
.register(MultiPartFeature.class)
.packages("com.restapi");
SSLContextConfigurator sslCon = new SSLContextConfigurator();
sslCon.setKeyStoreFile(KEYSTORE_LOC);
sslCon.setKeyStorePass(KEYSTORE_PASS);
return GrizzlyHttpServerFactory.createHttpServer(URI.create(BASE_URI), rc, true,new SSLEngineConfigurator(sslCon).setClientMode(false).setNeedClientAuth(false));
}
Die Schlüsselspeicherdatei mit keytool generiert wurde:
keytool -genkey -keystore ./keystore -alias serverKey -dname
Wenn ich versuche, die URL zu öffnen, mein Browser sagt mir:
die Verbindung unerwartet geschlossen localhost
Vielen Dank für Ihre Hilfe!
funktioniert wie ein Zauber. Vielen Dank – besil