Ответ 1
Он не будет работать с подходом, который вы принимаете. Вы ошибаетесь в примечаниях к выпуску ветки 1.x с ветвью 2.x.
в ветке 1.x, это возможно. Замечаний по выпуску достаточно, и они работали на меня.
Для ветки 2.1+, пожалуйста, обратитесь к комментарию @Christina. Поддержка была добавлена в 2.1, и в разделе обсуждения представлена подробная информация.
Цитата: ответ Джеймса Ропера
В режиме dev это очень просто, просто:
JAVA_OPTS = -Dhttps.port = 9443 play run
Play будет генерировать закрытый ключ и самоподписанный сертификат, который очевидно, что ваш браузер будет блокироваться с большим красным предупреждением. Это будет повторное использование, которое создало самоподписанный сертификат для каждого последующего запуска из Play, поэтому вы должны получить только ошибку браузера. очевидно этот самоподписанный сертификат, вероятно, не тот, который вы хотите производство. Также важно отметить, что сам подписали генерация сертификата будет работать только на JVM, которые используют солнце (например, Oracle и OpenJDK, но в первую очередь не IBM J9). На JVM, которые не используют их, вы получите NoClassDefFoundError, когда он пытается сгенерировать сертификат.
В prod (и эта конфигурация также применима к dev) вы ее настраиваете так же, как вы обычно настраиваете SSL на Java, через систему свойства. Здесь резюме:
https.port - порт, который следует использовать
https.keyStore. Путь к хранилище ключей, содержащее закрытый ключ и сертификат, если нет предоставил вам хранилище ключей
https.keyStoreType - ключ тип хранилища, по умолчанию - "JKS"
https.keyStorePassword. Пароль, по умолчанию - "
https.keyStoreAlgorithm. Алгоритм хранения ключей, по умолчанию используется алгоритм по умолчанию для платформ
https.trustStore. Это функция не была полностью реализована, в настоящее время она всегда будет использовать хранилище доверия JDK для проверки сертификатов на стороне клиента (которые вы может, конечно, настроить себя), укажите ли вы значение для этого или нет, если вы не укажете" noCA", и в этом случае он будет использовать доверие который доверяет всем сертификатам без проверки или проверки, что полезно, если вы используете проверку сертификата на стороне клиента Webid.
Для ветки 2.0 вам нужно поставить другой сервер для воспроизведения i.e либо apache/nginx/other, который прослушивает https и перенаправляет запрос на воспроизведение в http.
Инструкции по настройке внешнего сервера доступны по адресу http://www.playframework.org/documentation/2.0.1/HTTPServer
Итак, запустите игровой сервер на порту. Отправьте запрос apache с домена .com на 127.0.0.1:9443.
Пример конфигурации 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>
Надеюсь, что это поможет.