Nie będzie działać z podejściem, które podejmujesz. Pomylisz się z informacjami o wersji 1.x gałęzi 2.x.
w 1.x gałęzi, jest to możliwe. Informacje o wydaniu są wystarczające i pracowały dla mnie.
Dla 2.1+ oddziału, proszę odnieść się do komentarza @ Christina. Obsługa została dodana w wersji 2.1, a wątek dyskusji zawiera szczegóły.
Cytując odpowiedź James Roper za
W trybie dev, to jest bardzo proste, wystarczy:
JAVA_OPTS = -Dhttps.port = 9443 run gra
Play wygenerować klucz prywatny i ja podpisany certyfikat, który oczywiście twoja przeglądarka będzie się opierać z dużym czerwonym ostrzeżeniem. Będzie on ponownie używał wygenerowanego samopodpisanego certyfikatu dla każdego kolejnego uruchomienia gry, więc błąd przeglądarki powinien zostać wyświetlony tylko jeden raz. Oczywiście ten sam podpisany certyfikat prawdopodobnie nie jest tym, czego oczekujesz od produkcji . Należy również zauważyć, że samodzielne podpisanie certyfikatu będzie działać tylko na maszynach JVM, które korzystają z bibliotek bezpieczeństwa Sun (np. Oracle i OpenJDK, ale przede wszystkim nie IBM J9). W maszynach JVM, które ich nie używają, podczas próby wygenerowania certyfikatu pojawi się NoClassDefFoundError.
W prod (i ta konfiguracja ma również zastosowanie do dev), konfigurujesz ją tak bardzo, jak zwykle konfigurujesz SSL w Javie, przez właściwości systemowe . Oto podsumowanie:
https.port - port, który powinien być stosowany
https.kluczy - Ścieżka do magazynu kluczy zawierający klucz prywatny i certyfikat, jeśli nie warunkiem generuje kluczy Ci
https.keyStoreType - Klucz typu sklep, domyślnie „JKS”
https.keyStorePassword - hasło, domyślnie ""
https.keyStoreAlgorithm - algorytm sklep klucz, domyślnie algorytmu platformy domyślnej
https.trustStore - To funkcja nie został w pełni zrealizowany, obecnie będzie to zawsze używać magazynu zaufanych JDK do weryfikacji certyfikatów po stronie klienta (które może oczywiście skonfigurowania się) bez względu na to, czy podajesz wartość dla tego , czy nie, chyba że podasz "noCA", w takim przypadku użyjesz sklepu zaufania, który ufałby wszystkim certyfikatom bez weryfikacji ani weryfikacji, , co jest przydatne, jeśli używasz klienta WWW weryfikacja certyfikatu strony.
przez 2,0 oddział, trzeba umieścić inny serwer frontem zabaw I.E albo Apache/nginx/pozostałe który nasłuchuje na https i przekazuje żądanie do odegrania w http.
Instrukcje skonfigurować serwer nakładka dostępne są w http://www.playframework.org/documentation/2.0.1/HTTPServer
więc uruchomić serwer gry na porcie. Żądaj apache forward z domeny domain.com do 127.0.0.1:9443.
apache Przykładowy config
<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>
Nadzieję, że to pomaga.
Co nie działa? Podaj więcej informacji, na przykład stosy stacków i pliki konfiguracyjne. Czytasz również dokumentację gry 1 i próbujesz skonfigurować SSL dla Play 2, więc czytasz niewłaściwą dokumentację –
@ Li-o Zaktualizowałem o więcej informacji. Czy masz zaktualizowaną dokumentację Play2 dotyczącą konfiguracji https? Czy możesz mi to udostępnić ~? Wielkie dzięki ~ – Chris