Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Playframework Can';t为https指定密钥库文件_Playframework_Playframework 2.4 - Fatal编程技术网

Playframework Can';t为https指定密钥库文件

Playframework Can';t为https指定密钥库文件,playframework,playframework-2.4,Playframework,Playframework 2.4,我(又一次)玩了好几个小时。我正在使用v2.4.6,并尝试使用自定义密钥库文件进行HTTPS访问 Si I遵循以下原则: 在我的build.sbt文件的run+=“-Dhttp.port=9020”中添加了javaOptions 添加了play.server.https.keyStore.path=“conf/mykeystorefile.jks和play.server.https.keyStore.password=“my_keyStore_file_passphrase 然后我像往常一样

我(又一次)玩了好几个小时。我正在使用v2.4.6,并尝试使用自定义密钥库文件进行HTTPS访问

Si I遵循以下原则:

  • 在我的build.sbt文件的run+=“-Dhttp.port=9020”中添加了
    javaOptions
  • 添加了
    play.server.https.keyStore.path=“conf/mykeystorefile.jks
    play.server.https.keyStore.password=“my_keyStore_file_passphrase
然后我像往常一样使用ActivatorUI启动play,HTTPS请求也可以,但play总是生成一个
生成的.keystore
,并使用它,而不是使用我需要的。并打印警告:“使用生成的密钥和HTTPS的自签名证书。这不应在生产中使用。”

如果我看一下Play源代码,这就是日志的来源。但是在阅读代码时,只有在未提供
play.server.https.keyStore.path时才会发生这种情况,因为它是


发生了什么事?

根据您的问题,我猜您正在开发模式下使用Play。如果是这样的话,我认为在dev模式下,Play无法在启动应用程序之前读取这些值(这与使用javaOptions指定端口的问题相同)

您可以尝试使用系统属性(
-Dplay.server.https.(……
)指定这些值,或者在
build.sbt
中指定这些选项:

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

注意:不知道这是否是您的配置中的一个输入错误,但我认为您还需要为那些真正只希望在开发模式下使用它的用户指定
https.port

“您可以在build.sbt中为run命令配置额外设置。部署应用程序时不会使用这些设置。”

~

例:


是的,我是说
https.port
这是个打字错误
devSettings
不起作用,但将run+=“-Dplay.server.https.keyStore.path=path/to/keyStore”中的
javaOptions和run+=“-Dplay.server.https.keyStore.password=password”中的
添加到我的build.sbt中就成功了。非常感谢你!
PlayKeys.devSettings := Seq(
   "https.port" -> "9443",
   "play.server.https.keyStore.path" -> "conf/keystore.jks"
)