I am trying to use HTTP proxies to handle load balancing, but I'm not sure if it's wise to do so. My issue is that I need to have multiple private servers, serving through a load balancer, to multiple public IPs. I am using Amazon EC2s for my servers with elastic IPs.
My understanding of traditional load balancing, is that the resolving IP would be that of the server that the load balancer forwards to. If that is correct, I cannot use traditional load balancing, because each of my public IPs must appear unique to their attached domain. So if a reverse IP lookup occurred, it would not be easy to locate similar apps.
What kind of issues might this configuration face? Is there a better solution?
EDIT: I am sharing some additional information, even though I have solved the issue, to perhaps help someone in the future.
Our situation is that we offer a service that is white labelled to each individual client. Our app is hosted on a singular server, with a singular IP. When new clients came aboard they would point a subdomain's @host at our server's IP.
The issue arose when you ping the domain, run a whois, or something that reveals the domain's IP. Since the IP was not unique to the domain, you could easily discover a list of domains using the app. With little effort you could use that domain list to find a list of clients.
Our solution was to stand up an EC2 and point an elastic IP per client. Which worked, until we found a need for load balancing.
I tried to configure Amazon's ELB to fit our needs, but I was unable to get a configuration that would utilize both the elastic IPs and the load balancer.
Our configuration now, is using an EC2 instance with Nginx configured to reverse proxy our set of app servers. The elastic IPs are tied to the Nginx load balancer instance that then forwards the request on to the corresponding app server.
It may not be the best configuration, but it suits our needs, and the latency difference is negligible.
Hope that clears things up, thanks again.