I have four web server under two keepalived load balance server, so I can be sure that the active keepalived server will load balance the traffic on my four web servers, and when it fails the passive one becomes active and does the job until the main one is back to active state, it also track real servers aka web server and re balances the load on alive web servers. The problem is I can't use subsets of web servers for certain domain name as keepalived can work only with IP:PORT pairs(not http domain names) so I think of using HAProxy, but can't find anything about HAProxy server fail over functionality, how that can be organized, does HAProxy support clustering of the HAProxy servers?
HAproxy doesn't provide clustering built in, but it's commonly installed alongside keepalived for this purpose.
-Keepalived manages the clustering, virtual IPs, and failover between nodes.
-HAproxy does the actual load balancing on the virtual IPs.
There are other options beside keepalived, but I'd say it's one of the most common setups.