java - plugin - play framework tutorial with scala
¿Cómo puedo ejecutar Play framework en HTTPS solo en el modo dev? (5)
Me gustaría ejecutar Play Framework sobre HTTPS solo en el modo de desarrollo y lo he hecho utilizando el siguiente bit de configuración:
https.port=9443
trustmanager.algorithm=JKS
keystore.file=conf/certificate.jks
keystore.password=password
certificate.password=password
application.mode=dev
%prodenv.application.mode=prod
Esto funciona cuando ejecuto play run
pero en producción ejecutamos run play run --%prodenv
y quiero deshabilitar HTTPS ya que el HTTPS es manejado por Nginx. Estoy perdido con cómo hacer esto. Me gustaría hacer esto a través del archivo de configuración y no a través de argumentos adicionales de línea de comandos, ya que desafía el propósito de tener toda la configuración de mi aplicación en el archivo application.conf
.
Puede eliminar el https.port
param de su archivo conf y pasarlo a través de la línea de comando, cuando lo ejecuta en modo de desarrollo:
play run -Dhttp.port=9443
Una forma de hacerlo es tener dos archivos confs: application.conf
y prod.conf
application.conf
mantiene como está y prod.conf
se vería como
include "application.conf"
https.port = myProdPort
### other params to be overwritten
cuando ejecute su aplicación en prod usted puede hacer
play run -Dconfig.file=/mypath/prod.conf
Al igual que la otra respuesta de Johan, lo hago al revés: mi application.conf
es para prod y ejecuto un dev.conf
en desarrollo:
include "application.conf"
https.port = devPort
Y ejecute localmente así:
play run -Dconfig.file=dev.conf
De esta forma, no tiene que cambiar ninguna configuración en su servidor de prod.
En lugar de tener dos archivos de configuración, lo logré usando solo uno. Para ejecutar la aplicación, ejecuto play run --%dev
y así es como se ve la configuración.
%dev.https.port=9443
%dev.trustmanager.algorithm=JKS
%dev.keystore.file=conf/certificate.jks
%dev.keystore.password=password
%dev.certificate.password=password
Play Framework se ejecuta utilizando el servidor Netty. Puede sobrescribir la configuración del servidor utilizando los parámetros -D
.
En sbt
se puede hacer como:
sbt "project pepe-grillo-server" "run -Dhttps.port=42443 -Dhttp.port=disabled"