On 08/19/2010 10:08 AM, H.Päiväniemi wrote:
Hi,
I'm a varnish-newbie.
How on the earth can I make a virtual host in varnish?
I would like to, for example:
* make a default virtual host with a backend A
* make a virtual host "host1.foo.bar" with a backend B
* make a virtual host "host2.foo.bar" with a backend C
...and of course there would be different caching rules in all of those.
But how?
Varnish doesn't need any particular definitions of virtual hosts, but
will look for the "Host:" header in the HTTP requests and can make
decisions based on that.
After you have predefined your backends A, B and C, you can do something
like this:
sub vcl_recv {
set req.backend = A; # This is the default backend unless
# another backend is set
if (req.http.host == "host1.foo.bar") {
set req.backend = B;
# Add your caching rules for host1.foo.bar here
} elsif (req.http.host )) "host2.foo.bar") {
set req.backend = C;
# Add your caching rules for host2.foo.bar here
}
}
You may need to specify different caching rules in vcl_fetch as well, YMMV.
--
Bjørn
_______________________________________________
varnish-misc mailing list
[email protected]
http://lists.varnish-cache.org/mailman/listinfo/varnish-misc