Load balancing multiple virtual hosts on 1 IP

Marc G. Fournier scrappy at hub.org
Sun Feb 1 20:33:42 PST 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


Thank you for all the responses ... turns out the solution was simplier ... I 
tried the various solutions presented, and each of them did the same thing ...

The setup I have, I'm using csync2 to maintain the file systems on each 
backend, and in order to simplify that, I'm using:

<VirtualHost *:80>

instead of

<VirtualHost IP:80>

which works fine ... *but*, something gets confused when you mix-n-match the 
above ... its either all of one or the other, but not both ... once I fixed my 
config files, the pages now load consistently ...

Thank you all for the help on this, the pointers to the other software(s) 
provided "proof" that it wasn't the software, but my configuration ...



- --On Saturday, January 31, 2009 13:55:08 +0000 Matthew Seaman 
<m.seaman at infracaninophile.co.uk> wrote:

> 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
>



- -- 
Marc G. Fournier        Hub.Org Hosting Solutions S.A. (http://www.hub.org)
Email . scrappy at hub.org                              MSN . scrappy at hub.org
Yahoo . yscrappy               Skype: hub.org        ICQ . 7615664
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (FreeBSD)

iEYEARECAAYFAkmGd6IACgkQ4QvfyHIvDvOlzwCfT5CpD8LdE4MlMD4ugmjP8tTC
Z0YAoOl6F83j4t4WqTFqfQVutKLMQUj1
=fEn7
-----END PGP SIGNATURE-----



More information about the freebsd-questions mailing list