它不适用于您采用的方法。您将 1.x 分支的发行说明误认为 2.x 分支。
在 1.x 分支中,这是可能的。发行说明就足够了,它们对我有用。
对于 2.1+ 分支,请参考@Christina 的评论。2.1 中添加了支持,讨论线程提供了详细信息。
引用詹姆斯罗珀的回应
在开发模式下,这很容易,只需:
JAVA_OPTS=-Dhttps.port=9443 播放运行
Play 将生成一个私钥和自签名证书,显然您的浏览器会以红色大警告阻止。它将为 Play 的每次后续运行重用生成的自签名证书,因此您应该只收到一次浏览器错误。显然,这个自签名证书可能不是您在生产中想要的。还需要注意的是,自签名证书生成仅适用于使用 sun 安全库(例如 Oracle 和 OpenJDK,但最值得注意的是 IBM J9)的 JVM。在不使用这些的 JVM 上,当它尝试生成证书时,您将收到 NoClassDefFoundError。
在 prod 中(并且此配置也适用于 dev),您配置它的方式与您通常在 Java 中通过系统属性配置 SSL 的方式非常相似。这是一个摘要:
https.port - 应该使用的端口
https.keyStore - 包含私钥和证书的密钥库的路径,如果未提供,则会为您生成一个密钥库
https.keyStoreType - 密钥存储类型,默认为“JKS”
https.keyStorePassword - 密码,默认为 ""
https.keyStoreAlgorithm - 密钥存储算法,默认为平台默认算法
https.trustStore - 此功能尚未完全实现,目前无论您是否为此提供值,它都将始终使用 JDK 信任库来验证客户端证书(您当然可以自己配置),除非您指定“ noCA”,在这种情况下,它将使用一个信任存储,该信任存储信任所有没有验证或验证的证书,这对于使用 webid 客户端证书验证很有用。
对于 2.0 分支,您必须在播放前放置另一台服务器,即 apache/nginx/other 监听 https 并转发请求以在 http 中播放。
设置前端服务器的说明可在http://www.playframework.org/documentation/2.0.1/HTTPServer获得
因此,在端口上运行您的播放服务器。让 apache 将请求从 domain.com 转发到 127.0.0.1:9443。
示例 Apache 配置
<VirtualHost *:443>
ServerAdmin webmaster@localhost
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>
希望能帮助到你。