Non funzionerà con l'approccio che stai prendendo. Si stanno scambiando le note di rilascio del ramo 1.x con il ramo 2.x.
nel ramo 1.x, è possibile. Le note di rilascio sono sufficienti e hanno funzionato per me.
Per il ramo 2.1+, fare riferimento al commento di @ Christina. Il supporto è stato aggiunto in 2.1 e il thread di discussione fornisce dettagli.
Citando la risposta di James Roper
In modalità dev, è molto facile, basta:
JAVA_OPTS = -Dhttps.port = 9443 Giocare Run
gioco genererà una chiave privata e di auto certificato firmato, che ovviamente il tuo browser sarà bloccato con un grande avvertimento rosso. Sarà il riutilizzo di che ha generato un certificato autofirmato per ogni successiva esecuzione di Play, quindi è necessario ottenere l'errore del browser solo una volta. Ovviamente questo certificato autofirmato non è probabilmente quello che vuoi nella produzione . È inoltre importante notare che la generazione del certificato autofirmato funziona solo su JVM che utilizzano le librerie di sicurezza sole (ad es. Oracle e OpenJDK, ma in particolare non IBM J9). Su JVM che non li utilizzano, si otterrà un valore NoClassDefFoundError quando tenta di generare il certificato.
In prod (e questo vale anche per config DEV) si configura molto stesso modo in cui si configura SSL normalmente in Java, tramite sistema proprietà. Ecco un riassunto:
https.port - La porta che deve essere utilizzato
https.keyStore - Il percorso per l'archivio di chiavi contenente la chiave privata e il certificato, se non fornito genera un archivio chiavi per voi
https.keyStoreType - La chiave tipo negozio, il default è "JKS"
https.keyStorePassword - La parola d'ordine, default ""
https.keyStoreAlgorithm - L'algoritmo di chiavi, 0.123.516,41 miladefault è l'algoritmo di piattaforme di default
https.trustStore - Questa funzione non è stata pienamente attuata, attualmente si utilizzerà sempre il negozio di fiducia JDK per la verifica dei certificati lato client (che si può naturalmente configure te stesso) se fornisci un valore per questo o meno, a meno che non specifichi "noCA", nel qual caso utilizzerà un negozio di fiducia che si fida di tutti i certificati senza convalida o verifica, che è utile se si utilizza client webid verifica del certificato laterale.
per 2,0 ramo, bisogna mettere un altro server Infront di gioco cioè sia apache/nginx/altra che ascolta su https e inoltra la richiesta di giocare in http.
istruzioni per impostare un server di front-end sono disponibili presso http://www.playframework.org/documentation/2.0.1/HTTPServer
Quindi eseguire il server di gioco su una porta. Avere richiesta di apache forward da domain.com a 127.0.0.1:9443.
Esempio di configurazione di apache
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName example.com
ServerAlias *.example.com
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
ProxyPreserveHost On
# ProxyPass /excluded !
ProxyPass/http://127.0.0.1:9000/
ProxyPassReverse/http://127.0.0.1:9000/
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on
# A self-signed (snakeoil) certificate can be created by installing
# the ssl-cert package. See
# /usr/share/doc/apache2.2-common/README.Debian.gz for more info.
# If both key and certificate are stored in the same file, only the
# SSLCertificateFile directive is needed.
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
# Certificate Authority (CA):
# Set the CA certificate verification path where to find CA
# certificates for client authentication or alternatively one
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
# MSIE 7 and newer should be able to use keepalive
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>
Speranza che aiuta.
Che cosa non funziona? Fornisci ulteriori informazioni come stacktraces e i tuoi file di configurazione. Inoltre hai letto la documentazione per Play 1 e stai cercando di configurare SSL per Play 2, quindi stai leggendo la documentazione errata –
@ Li-o Ho aggiornato con ulteriori informazioni. Hai una documentazione aggiornata per Play2 sulla configurazione di https? Potresti condividerlo con me ~? Grazie mille ~ – Chris