我有一个通过stage
在 SBT 中运行部署的 Play 应用程序,然后使用target/start
. 我已经将 Nginx 放在它前面,并且基于一个子域,我有两个server
块 - 一个用于端口 80,另一个用于端口 443。端口 80 块只是重定向到https
端口 443 上的方案。这个一切都很好。
回顾一下:
http://play.mydomain.com/
重定向到https://play.mydomain.com/
这是一个代理http://localhost:9000
但是,如果我只是去http://mydomain.com:9000/
,我可以直接访问我的 Play 应用程序。没有 SSL,我无法阻止任何人访问它。
我该怎么办?我是否应该使用 Nginx 将端口 9000 上的任何访问重定向到 SSL 版本的 URL?我应该防火墙端口 9000 并且只允许该端口上的本地请求吗?(如果是这样,我会怎么做?)还有其他我没有想到的处理方法吗?
还有多久,Servlet 3.1 规范发布,我可以将整个事情部署为 WAR?:-)