I have looked through post and web listing, and I am not finding what I need so I will see if I can make some sense here.

I should mention I am more of a programmer, and just happen to be doing this because in this company I am the most knowledgeable about servers which isn't saying much.

Okay so here is the set up. We are trying to move our architecture from a one db server (ms sql) paired with one web server (IIS 7) for all our customers into multiple db/web server pairs that all do basically the same task, but instead of one huge out of control db, they will be limited to smaller sub sets. This portion I have accomplished without loosing much sleep. The issue is now we will have multiple domains trying to resolve to the same IP which is not an issue if the sites were all hosted in the same web server, but each domain name is it's own web server with its own ssl security certificate.

For example www.example.com, www2.example.com, ww3.example.com all refer to different servers in the same server rack behind the same external ip address. I am unsure if reverse proxies will work, or how to set this up in relation to SSL.

Is there a hardware setup I could look at that would be able to resolve incoming traffic on port 80 to an ip based on the url info?

Is there a software solution that will not interfere with SSL on the incoming traffic that can route from a gateway to the right machine?

Every thing I found on Google and various places is for Apache, or IIS with only one web server just changing the binding on the URLs. There was also mentioning of headers... but I know so little I am not sure what the right/best/most secure approach would be.

For extra info I am running SQL Server 2008 r2, and windows server 2008 r2 on these machines, and am limited to a windows only solution. Under the hood we are using asp.net/iis 7.0

EDITED ADDITIONAL INFO: I am looking at multiple domain names with a wild card or multi-domain certificate so the www prefix will be different... www.example.com, www2.example.com, www3.example.com. Each set of domain names will refer to a sub set of our clients, so group one will use www.example.com, group 2 will use www2.example.com. So when our client application looks for the web service it will know which web service to use but each one of those are different machines. This will be happening in code so the end users will not know the architecture has changed.

For example our client program calls www.example.com/webService/someForm.aspx to work with the database so instead if its group 2 it will need to call www2.example.com/webService/someForm.aspx which is at the same location as www.example.com/webService/someForm.aspx but if not going to the right server will not ever be able to find any data.

I hope that clarified a little more of what I am needing.

As far as hardware goes, I figured it might be easiest way to do this, but I have no ideal how I would set this up. I have almost no knowledge in networking solutions, which is why I was hoping to get some hardware suggestions.

As far as Linux solutions go, while I would be comfortable working with Linux and figuring it out, the bosses do not know Linux and will not accept a solution requiring it's use.


TLDR answer: Yes, you want a reverse proxy. Everything else is an implementation detail.

  • Sorry this took me a while to answer, I forgot about this. The reverse proxy was the way to go. – Benjamin Sep 10 '12 at 17:47

It would be helpful if you could be a little more specific in your desires - are you trying to have a single domain name eg www.example.com distribute out a collection of web servers?

If I am understanding your question correctly what you need to look at is a load balancer. There are a lot of different options available from high end hardware devices to inexpensive / free Linux based solutions. I have not had much luck with Windows based software solutions. In your case I would recommend an appliance.

On a related note if you are trying to eliminate single points of failure you would need to have two such devices in a high availability configuration.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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