Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

We're developing an online browser-based game. The game itself is a plugin in the web page, that uses TCP connection to a game server, and also sends http requests to "content server" web application.

This makes 3 servers total: the site itself, game server and content server. Site and content server are IIS web applications, game server is a custom application communicating over TCP with proprietary protocol.

While the game is in beta stage, all these servers are physically hosted on a single machine, and distinguished by ports. For example, website is game.example.com:80, game server is game.example.com:34285 and content server is game.example.com:50000. This works OK most of the time, but some of our players have ports other than 80 closed.

Is there any way to make all these application work through port 80, while still having them one one physical server? Maybe using different sub-domains? There's probably a way to make IIS forward requests to different web applications based on URL alone, but that doesn't help with game server.

Edit Server is Windows Server 2008, IIS 7

share|improve this question

3 Answers 3

My suggestion would be to utilized multiple IP addresses. You can host multiple IPs on the same physical box, with different applications bound to the same port on each IP. Thus, 192.168.13.4 could be the web server, 192.168.13.6 could be the content server, and 192.168.13.9 could be the game server. Each could communicate over whichever port(s) are needed, and all run on port 80, if desired.

Using sub-domains, host headers, and such are all going to happen at the application level, and won't work for the game server (as you mentioned).

share|improve this answer

You don't say which version of Windows Server you're using. That will indicate whether it's IIS 6 or 7. There are a couple of ways of doing this. One is to make use of host headers.

share|improve this answer
    
Windows Server 2008, IIS 7 –  Nevermind Jan 14 '11 at 15:19

You want to use Host Headers.

share|improve this answer
2  
Original poster mentioned that "game server is a custom application communicating over TCP with proprietary protocol". If that's the case, an HTTP specific solution won't solve the whole problem. –  Christopher Cashell Jan 14 '11 at 21:30
    
Good point. It will solve 66% of the problem though. –  sinping Jan 14 '11 at 21:32
    
True. It's a workable, and probably best choice, solution for the two HTTP applications. –  Christopher Cashell Jan 17 '11 at 19:49

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.