Marc G. Fournier wrote:
Simple: is it possible?I have two VMs that contain the same content, on two different IPs .. I want to setup a third VM with something like haproxy on it that will take the URL (http://domain1) and pull the content from one or the other ...So far, all works well if I only have one virtual host, but as soon as I add a second one (http://domain2), when I try to go to http://domain2, it pulls up the content for domain1 also, as if I was going to http://IP instead.Is there a way to set this up (with haproxy, or some other software), that it will actually pass the URL through to the backend apache server and load up the right content? Or is this a limitation in the protocol itself?/
This is certainly possible -- most of the world's big web sites work in exactly this way, although they would tend to use dedicated hardware LB if they were of any appreciable size. I think what's going wrong for you is that you are using a front-end proxy, and it's rewriting the requests with the host names of the real servers, which will certainly screw up name based virtual hosts. Instead of ha-proxy, look into relayd -- in conjunction with a pf(4) firewall this will do exactly what you want. It can operate purely at the IP level or even at layer 2 if you want to implement DSR. Another alternative to consider is varnish, although I'm not sure that has much in the way of health-checking the back-end servers behind it. varnish is a reverse-proxy / web accelerator so can give you some performance boost as well. Cheers, Matthew -- Dr Matthew J Seaman MA, D.Phil. 7 Priory Courtyard Flat 3 PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate Kent, CT11 9PW
signature.asc
Description: OpenPGP digital signature