单个端口上的多个Web应用程序

我们正在开发一个基于在线浏览器的游戏。 游戏本身就是网页中的一个插件,它使用TCP连接到游戏服务器,同时也向“内容服务器”web应用程序发送http请求。

这使得共有3个服务器:网站本身,游戏服务器和内容服务器。 网站和内容服务器是IIS Web应用程序,游戏服务器是一个自定义应用程序,通过TCP与专有协议进行通信

游戏处于testing阶段时,所有这些服务器都被托pipe在一台机器上,并通过端口进行区分。 例如,网站是game.example.com:80 ,游戏服务器是game.example.com:34285 ,内容服务器是game.example.com:50000 。 这在大多数情况下都可以,但是我们的一些玩家有80以外的端口closures。

有没有办法使所有这些应用程序通过端口80工作,而仍然有他们一个物理服务器? 也许使用不同的子域? 可能有一种方法可以根据URL单独向不同的Web应用程序发送IIS转发请求,但这对游戏服务器没有帮助。

编辑服务器是Windows Server 2008,IIS 7

我的build议是使用多个IP地址。 您可以在同一个物理盒子上托pipe多个IP,并将不同的应用程序绑定到每个IP上的相同端口。 因此,192.168.13.4可能是networking服务器,192.168.13.6可能是内容服务器,而192.168.13.9可能是游戏服务器。 如果需要的话,每个端口都可以通过需要的端口进行通信,并且全部在端口80上运行。

使用子域,主机头等都将在应用程序级别发生,并且不会在游戏服务器上工作(如您所述)。

你不会说你正在使用哪个版本的Windows Server。 这将表明是否是IIS 6或7.有几种方法可以做到这一点。 一个是利用主机头 。

你想使用主机头 。