Frontend caching to multiple sites

Espen Braastad espen at
Wed Nov 5 08:58:52 CET 2008

Alecs Henry wrote:
> I want to set up varnish as a reverse proxy/cache to multiple customer
> sites.
> As in, I have 10 different customers, each with its own web site (domains)
> with their own necessities, compression, cookie, authentication, etc; each
> customer is a different setup from the other, so I thought "OK! Let's use a
> different VCL for each customer and all will be fine".
> Bear with me here, I've just started playing with varnish, but it seems that
> I can't create a different VCL file for each customer and load it in varnish
> (vcl.use ...) as varnish will stop responding for the previous site and
> start responding only to the new one (active configuration). Meaning, the
> content that is served is only the content from the new site, even if using
> the correct domain.
> How can I go about setting this up?
> I'm using Varnish 2.0.1, just downloaded and compiled it today.

You can try something like this in one VCL:

sub vcl_recv {
  if ( ~ "^(www\.)site1\.com$"){
    # foo

  if ( ~ "^(www\.)site2\.com$"){
    # bar

  if ( ~ "^(www\.)site3\.com$"){
    # baz

  # Unknown host
  error 403;

Espen Braastad,
+47 21 54 41 37
espen at
Linpro AS - Ledende på Linux

More information about the varnish-misc mailing list