ssl - 使用 HTTPS/SSL 启动 Typesafe Play Framework

标签 ssl https playframework configuration keystore

我在使用 HTTPS 启动和运行系统时遇到问题。

我已经从我们的通配符证书创建了一个 key 文件,并将 key 文件放在我们的 ./conf 目录中:

473 zbeckman:glimpulse-server$ ll conf
total 72
drwxr-xr-x 9 zbeckman staff 306 Sep 7 09:26 ./
drwxr-xr-x 22 zbeckman staff 748 Sep 7 09:32 ../
-rwxr-xr-x 1 zbeckman staff 1213 Sep 7 09:26 application.conf*
-rw-r--r-- 1 zbeckman staff 1374 Sep 7 08:49 glimpulse.keystore
-rw-r--r-- 1 zbeckman staff 1439 Aug 9 15:58 logback.xml
-rwxr-xr-x 1 zbeckman staff 5206 Aug 8 15:36 routes*
-rw-r--r-- 1 zbeckman staff 575 Apr 29 18:55 ws.conf
474 zbeckman:glimpulse-server$

并且我已将以下内容添加到我们的 ./conf/application.conf 文件中,按照 Play Configuring HTTPS 中的说明页:

play.server.https.keyStore.path = "./conf/glimpulse.keystore"
play.server.https.keyStore.password = "xxxxxxxxxxxxx"

最后,我使用 -Dhttp.port=disabled -Dhttps.port=9000 尝试启动服务器,但它拒绝启动。

这是结果。注意最后一行输出:

472 zbeckman:glimpulse-server$ ./activator start -Dhttp.port=disabled -Dhttps.port=9000
[info] Loading project definition from /Users/zbeckman/Projects/Glimpulse/Server/project/glimpulse-server/project
[info] Set current project to Glimpulse (in build file:/Users/zbeckman/Projects/Glimpulse/Server/project/glimpulse-server/)
[warn] The start command is deprecated, and will be removed in a future version of Play.
[warn] To run Play in production mode, run 'stage' instead, and then execute the generated start script in target/universal/stage/bin.
[warn] To test your application using production mode, run 'testProd' instead.
[info] Wrote /Users/zbeckman/Projects/Glimpulse/Server/project/glimpulse-server/target/scala-2.11/glimpulse_2.11-1.0-SNAPSHOT.pom

(Starting server. Type Ctrl+D to exit logs, the server will remain in background)

Must provide either an HTTP or HTTPS port
473 zbeckman:glimpulse-server$

就 keystore 而言,我使用 Java keytool 根据我们的通配符域证书生成存储:

keytool -import -alias tomcat -keystore glimpulse.keystore -trustcacerts -file star_glimpulse_com.crt

这似乎很顺利, keystore 的生成没有任何错误或警告。

最佳答案

你可以尝试这样运行它:

./activator "start -Dhttp.port=disabled -Dhttps.port=9000"

可能需要引号以确保参数以正确的方式传递给启动命令。

关于ssl - 使用 HTTPS/SSL 启动 Typesafe Play Framework,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32443169/

相关文章:

delphi - idhttp:特定站点上的 SSLv3_READ_BYTES 错误

web-applications - 为什么https仅用于登录?

jquery - Ajax 不通过 h​​ttps 加载 PHP 脚本

java - Play Framework org.hibernate.PersistentObjectException : detached entity passed to persist: models

ios - AFNetworking SSL 固定过期证书

.net - .NET应用程序无法发送客户端证书-Win 7 vs Win XP?

java - 如何从 Android 执行 HTTPS POST?

java - 尝试实现安全模块的编辑版本时出现应用程序错误

java - 关于实现服务器端和客户端验证的问题

php - 无法设置本地证书链文件