Web-server – HTTP Hostname to IP Address Routing

httproutingvirtualizationweb-server

I currently have the following network setup:

Router/Firewall > IIS Web Server

When a HTTP request comes through, IIS will look at the host header and decided which website to return.

My problem now is that I want to setup virtual machines on the web server to host linux based web servers. Are there a software layers that I can put between the router and the host virtual machine which will analyze HTTP request's and forward the request to another IP address based on the hostname? The final setup should look like:

Router/Firewall > Host VM > Hostname Redirect Software > VM Web Server

The software layer can be windows or linux based.

Please could you provide specific answers to this questions. Non answers include: Buying a new router, running apache on windows, changing my hosts file, buying more public IP addresses.

Thanks

Best Answer

It sounds like you want to setup a reverse proxy on the VM (or wherever). Then you will point all your domains to the reverse proxy which will then send the requests to their final destination. I linked to the Apache way of doing this, but nginx is also popular as a reverse proxy. Another option is any of the dedicated proxy software that will do this.