使用Play Framework设置多个域

时间:2013-05-24 02:48:51

标签: scala playframework hosting rackspace

如何使用Play Framework开始使用多个域?换句话说,同一台服务器将为somedomain.com和anotherdomain.com提供内容,这两个域的内容都将由Play Framework提供

例如,您是否设置了Apache后面的Play,或者您可以在Play上配置虚拟主机。我从一个空白的Linux服务器开始,只是想知道如何开始,即我应该搞砸像Apache这样的东西,还是我会单独使用Play Framework?

2 个答案:

答案 0 :(得分:1)

使用front-end HTTP server是典型的解决方案,否则您需要在单独的端口和/或IP地址上访问每个应用程序。

此外,HTTP服务器允许您使用SSL(Play 2.x不支持它!)因此,如果您计划创建安全连接,则需要使用doc中描述的方案。

最后使用服务器将允许您合并其他有用的东西,如负载平衡,在CDN-lke模式下提供非常精确的缓存设置的静态(真正静态)内容等...

只有一个提示:如果只有HTTP服务器的工作只是代理Play应用程序,请考虑使用比Apache更轻的选项,例如nginxlighttpd,您将找到示例Play文档中所有这些的配置。

答案 1 :(得分:1)

作为biesior答案的后续行动,使用前端服务器似乎仍然是2.5.x的最佳选择(https://www.playframework.com/documentation/2.5.x/HTTPServer更新的文档)。

也就是说,可以使用相同的Web应用程序为两个域提供服务,通过request.headers.get(“Host”)上的模式匹配来检测预期的主机。我发现当“anotherdomain.com”是静态的并且不需要任何有意义的路由时,它运行得相当好,但要谨慎行事。

我还会注意到,一旦您在密钥库(https://www.playframework.com/documentation/2.5.x/ConfiguringHttps)中拥有必要的证书,Play Framework的最新版本将以一种无痛的方式支持https。但是,我无法看到如何通过多个域很好地发挥作用。