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

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to