如何仅在开发模式下在HTTPS中运行Play框架?

Mri*_*lla 16 java https playframework playframework-1.x

只想在开发模式下通过HTTPS运行Play Framework ,我使用以下配置来完成:

https.port=9443
trustmanager.algorithm=JKS
keystore.file=conf/certificate.jks
keystore.password=password
certificate.password=password
application.mode=dev
%prodenv.application.mode=prod
Run Code Online (Sandbox Code Playgroud)

这在我运行时有效play run但在生产中我们运行play run --%prodenv并且我想禁用HTTPS,因为HTTPS由Nginx处理.我迷失了如何做到这一点.我想通过配置文件而不是通过额外的命令行参数来做到这一点,因为它无视在application.conf文件中包含所有应用程序配置的目的.

Joh*_*ohn 7

一种方法是使用两个confs文件:application.confprod.conf

application.conf保持原样,prod.conf看起来像

include "application.conf"
https.port = myProdPort

### other params to be overwritten
Run Code Online (Sandbox Code Playgroud)

在prod中启动应用程序时,您可以这样做

play run -Dconfig.file=/mypath/prod.conf
Run Code Online (Sandbox Code Playgroud)


dok*_*and 5

sbt run -Dhttps.port=9443 -Dhttp.port=disabled


Mri*_*lla 3

我没有使用两个配置文件,而是仅使用一个配置文件来实现这一目标。为了运行该应用程序,我运行了play run --%dev它,这就是配置的样子。

%dev.https.port=9443
%dev.trustmanager.algorithm=JKS
%dev.keystore.file=conf/certificate.jks
%dev.keystore.password=password
%dev.certificate.password=password
Run Code Online (Sandbox Code Playgroud)