Using Varnish to Proxy 1000s of different sites

Tony Primerano tony.primerano at gmail.com
Thu Aug 5 16:33:17 CEST 2010


I suspect what I am trying to do here falls outside of Varnish's intended
purpose but here is what I am trying to do...

Instead of using Varnish to cache content for a single site with several
backends,  I want to use it to allow me to serve existing sites on different
domains.

For example I can run varnish on test.com and serve content from
example.comusing this configuration.

backend test {
  .host = "example.com";
  .port = "80";
}

sub vcl_recv {
  set req.http.host = "example.com";
  set req.backend = test;
  return(pass);
}

But what if I have 1000s of backends and I choose them based on the domain
that user's hit varnish with.   Is this something Varnish handles or is it
only intended to work with a handful of backends?

Also, it would be really cool if I could do something like this..
sub vcl_recv {
  set req.http.host = "example.com";
  set req.backend.host  = req.http.host;
  return(pass);
}

I'm guessing backends are defined ahead of time for connection pooling but
maybe not.

Anyway, this is long enough,  tell me if I would be nuts to try to do this
with Varnish and if so what would be better.   I'm tempted to write my own
proxy but that seems like such a waste.  :-)

Tony
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-misc/attachments/20100805/23ca7e05/attachment-0003.html>


More information about the varnish-misc mailing list