一尘不染

强制执行SSL!构架

java

我目前正在使用Play!1.2.2及其新的Netty客户端框架。

尽管可以使HTTP和HTTPS异步提供服务,但我没有找到一种简单的方法来强制执行SSL。有没有与Play合作的人!有直接执行SSL的方法吗?不知道我是否需要创建重定向,或者是否可以在conf文件中快速解决此问题。


阅读 202

收藏
2020-12-03

共1个答案

一尘不染

有两种方法可以强制实施SSL。

首先,您可以将所有操作设置为使用该.secure()方法,例如

<a href="@{Application.index.secure()}">index page</a>

另一种可能也是最好的方法是通过前端HTTP服务器(例如Apache,Nginx或Lighttpd)执行此操作。

前端http服务器的想法是,您的应用程序在端口9000上运行,但无法从外部网络访问。HTTP负责所有传入请求,并且配置为仅接受HTTPS。HTTPS由HTTP服务器处理,然后将请求转发到Play。

这样您的整个Play应用程序都可以正常运行,并且SSL被卸载到了另一个应用程序中。

可以将相同的方法应用于负载均衡器,而不是HTTP服务器,但是我猜想,除非在公司环境中运行,否则大多数人会使用便宜得多的HTTP服务器替代方案。

2020-12-03