【发布时间】:2013-08-26 22:05:32
【问题描述】:
我通过在 SBT 中运行 stage 部署了一个 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? :-)
【问题讨论】:
-
好的。刚刚发现我无法让 Nginx 将请求重定向到端口 9000 到正确的子域,因为我的 Play 应用程序已经将自己绑定到端口 9000。奇怪的是我在互联网上找不到任何关于此的内容。我开始认为我错过了一些基本的东西。
标签: ssl nginx playframework-2.0