2016-04-13 8 views
2

angeben Ich habe meine Haare für Stunden mit Play (wieder) gezogen. Ich verwende v2.4.6 und versuche, eine benutzerdefinierte Keystore-Datei für den HTTPS-Zugriff zu verwenden.Kann keine Keystore-Datei für https

Si Ich folgte dem documentation:

  • Added javaOptions in run += "-Dhttp.port=9020" in meiner build.sbt Datei
  • Added play.server.https.keyStore.path = "conf/mykeystorefile.jks und play.server.https.keyStore.password = "my_keystore_file_passphrase

Also dann verwende ich Aktivator UI Spiel zu starten, wie üblich, und HTTPS-Anfragen funktionieren, ABER spielt immer eine generated.keystore und verwendet sie, anstatt die zu verwenden, die ich brauche. Und druckt eine Warnung: "Verwenden des generierten Schlüssels mit selbstsigniertem Zertifikat für HTTPS. Dies sollte nicht in der Produktion verwendet werden."

Wenn ich Play Code ansehen, this ist, wo das Protokoll stammt. Aber beim Lesen des Codes sollte dies nur passieren, wenn play.server.https.keyStore.path nicht zur Verfügung gestellt wird, was es ist ...

Was ist los?

Antwort

1

Von Ihrer Frage Ich denke, Sie verwenden Play im Dev-Modus. Wenn das der Fall ist, denke ich, dass es Play im Play-Modus nicht möglich ist, diese Werte zu lesen, bevor die Anwendung gestartet wird (das gleiche Problem, bei dem Sie javaOptions verwenden, um den Port anzugeben).

Sie können versuchen, diese Werte mit Hilfe von Systemeigenschaften (-Dplay.server.https.(...)) oder geben Sie diese Optionen in build.sbt angeben:

devSettings := Map(
    "play.server.http.port" -> "9020", 
    "play.server.https.keyStore.path" -> "/path/to/file", 
    // (...) 
) 

Hinweis: weiß nicht, ob das ein Tippfehler in der Config war, aber ich glaube, Sie müssen auch angeben https.port ...

+1

Ja ich meinte 'https.port' es war ein Tippfehler. 'devSettings' hat nicht funktioniert, aber' javaOptions in run hinzugefügt + = "-Dplay.server.https.keyStore.path = Pfad/zu/keystore" 'und' javaOptions in run + = "-Dplay.server.https .keyStore.password = Passwort "' zu meinem Build.sbt hat den Trick gemacht. Vielen Dank! – SebT

1

für diejenigen, die wirklich nur diesen Modus in dev wollen ...

„Sie zusätzliche Einstellungen für den Startbefehl in Ihrem build.sbt konfigurieren können. diese Einstellungen werden nicht verwendet werden, wenn Sie Ihre Anwendung bereitstellen. "

~ https://www.playframework.com/documentation/2.5.x/ConfigFile#Extra-devSettings

Ex:

PlayKeys.devSettings := Seq(
    "https.port" -> "9443", 
    "play.server.https.keyStore.path" -> "conf/keystore.jks" 
) 
Verwandte Themen