Load balancing multiple virtual hosts on 1 IP
Matthew Seaman
m.seaman at infracaninophile.co.uk
Sat Jan 31 05:55:30 PST 2009
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 259 bytes
Desc: OpenPGP digital signature
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20090131/e05fed11/signature.pgp
More information about the freebsd-questions
mailing list