2011-07-23 66 views
3

我试图让玩!服务器侦听单个域名而不是为此服务器配置的所有域名。玩!服务器:听单个域名

I.E.我有两个网络服务运行在两个不同的域名上: example1.com example2.com

示例1在端口9000上运行,示例2在端口9001上运行。各个域的端口80被转发到有问题的港口。

但是例如2仍然是example1.com:9001访问,我想知道如何配置玩游戏!服务器以便它只会监听指定的域名。

我可以通过检查request.host变量修复它在运行的,但玩!意味着很容易,所以我正在寻找简单的解决方案!

亲切的问候,扬

PS我尝试使用http.address配置参数,但应用程序仍然听这两个域名。

回答

2

对此的简单回答是使用Apache,Nginx,Lighttp或其他HTTP服务器来访问Play服务器。配置这个http服务器充当您的Play应用服务器的反向代理,以便example1.com:80路由到端口9000和example2:80路由到端口9001.

查看以下指南,了解清楚你需要做什么的细节。它实际上显示了两个不同的域正在处理,类似于您的要求。

http://www.playframework.org/documentation/1.2.1/production#server

+0

我已经实现了...现在我想阻止访问域名example2.com下的端口9000 – Jan

+2

您需要设置防火墙以确保只允许端口80上的流量进入。这不是在Play内部完成的(它必须在端口9000和9001上运行),而是防火墙软件阻止外部流量访问这些打开的端口。 – Codemwnci

0

有没有别的办法,除非你有两个主机不同的IP地址。如果你不这样做,你必须检查主机请求头。

+0

谁对这个问题低估了正确答案? –

1

您正在寻找的是虚拟主机模块。有一个可用,VHost,但我没有尝试过,我不知道它是否与最新版本的Play Framework(1.2.2)兼容。

游戏的虚拟主机模块增加了写这可用于对HTTP/1.1 Host头域基于 内容的应用程序的能力。为每个虚拟主机维护单独的数据源。