I am using Haproxy with two different nodes having different machines ‘geographically scattered’
- Load-balancer-one having dns = http1.example.com
- Load-balancer-two having dns = http2.example.com
The service is listening on DNS main site with original hostname –haproxy
My question is how to maintain a static URL? i.e. it must not show the back-end server domain’s or IPs, I want to show only original hostname.
The simplest method is to setup a round robin DNS entry that returns the IP addresses of both servers.
You likely however want to use a GSLB (global server load balancing) solution that can remove failed load balancers from responses based on a health check. If you are in multiple data centers, some GSLB solutions can route users to the most performant location for them.
F5 and Netscaler have hardware GSLB solutions. Dyn, Akamai, UltraDNS and others offer GSLB as a service. AWS’ Route53 has a weighted round robin solution. They do not currently offer health checking or routing based on geographic location.