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.

I've purchased a RootServer with one static IP included and the possibility to register up to four. For some extra cash of course. I'm running two different services on this root server with two different domains (service1.com / service2.com).

Now I want to divide the RootServer into two VirtualServers. And here's the problem: I currently have only one IP but two VirtualServers, which require some ports that are the same.

service1.com / VirtualServer 1 / 123.456.234.12

  • HTTP :80
  • FTP :21
  • MySQL :3306
  • ...

service2.com / VirtualServer 2 / 123.456.234.12

  • HTTP :80
  • FTP :21
  • MySQL :3306
  • Minecraft :22566
  • ...

So my idea was to completely rout:

  • all requests on every port on service1.com to the VirtualServer1
  • all requests on every port on service2.com to the VirtualServer2

so that I would have a completely new "portspace" (?) for every VirtualServer without the need to buy a second domain.

Is this somehow possible?

share|improve this question

1 Answer 1

up vote 2 down vote accepted

No it is not possible. Communication is IP:Port based and not name based. So there is no general way to do this.

With the introduction of HTTP 1.1 there is an addition where you can use name based communication over IP based communication. But this is only implemented for HTTP(S). That said it is protocol dependent and not available for every communication in the TCP/IP world.

share|improve this answer
    
HTTPS is a very recent development and only somewhat recently made it out of theoretical implementations. I don't think that it is available in any packages by default. –  Kevin M Oct 24 '11 at 15:06
    
@KevinM Oh yeah. 11 years of having HTTPS is definitively "recent": tools.ietf.org/html/rfc2818 –  mailq Oct 24 '11 at 15:17
    
Wouldn't it be possible to check to which domain (service1.com / service2.com) the request was sent and, depending on that, rout the request to the according VirtualServer? If that isn't possible, someone should make it possible. :) –  buschtoens Oct 24 '11 at 18:16
    
@silvinci You can't. Routing is also IP based. And names are resolved to IPs before "using" them in routing. To make it possible you have to invent Internet-NG (next generation). It's always nice to have flying white elephants. But it is not possible. –  mailq Oct 24 '11 at 18:21
    
@mailq: "HTTPS having the name based communication during TCP connection setup" is what I meant. I am aware that HTTPS itself has been around for years. –  Kevin M Oct 26 '11 at 16:22

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.