Hi Espen,<br><br>Thanks for the answer!<br><br>Is there a way to accomplish this using different VCLs?<br>I ask it because I'm trying to figure out a way to make it automatic. As in if I have a new customer, I'd just fill out a form (with the customer details like domain name, backend server, other configuration) and a little system working under the hood would generate the VCL file, send it to the varnish server and load it.<br>
<br>If I use one VCL file for everybody, how do I reload this VCL when I need to change it? Is it necessary to reload varnish? Would it present downtime?<br><br>Thanks!!<br><br>Alecs<br><br><br><br><div class="gmail_quote">
On Wed, Nov 5, 2008 at 5:58 AM, Espen Braastad <span dir="ltr"><<a href="mailto:espen@linpro.no">espen@linpro.no</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">Alecs Henry wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I want to set up varnish as a reverse proxy/cache to multiple customer<br>
sites.<br>
As in, I have 10 different customers, each with its own web site (domains)<br>
with their own necessities, compression, cookie, authentication, etc; each<br>
customer is a different setup from the other, so I thought "OK! Let's use a<br>
different VCL for each customer and all will be fine".<br>
<br>
Bear with me here, I've just started playing with varnish, but it seems that<br>
I can't create a different VCL file for each customer and load it in varnish<br>
(vcl.use ...) as varnish will stop responding for the previous site and<br>
start responding only to the new one (active configuration). Meaning, the<br>
content that is served is only the content from the new site, even if using<br>
the correct domain.<br>
<br>
How can I go about setting this up?<br>
I'm using Varnish 2.0.1, just downloaded and compiled it today.<br>
  <br>
</blockquote></div>
Hi,<br>
<br>
You can try something like this in one VCL:<br>
<br>
sub vcl_recv {<br>
 if (req.http.host ~ "^(www\.)site1\.com$"){<br>
   # foo<br>
 }<br>
<br>
 if (req.http.host ~ "^(www\.)site2\.com$"){<br>
   # bar<br>
 }<br>
<br>
 if (req.http.host ~ "^(www\.)site3\.com$"){<br>
   # baz<br>
 }<br>
<br>
 # Unknown host<br>
 error 403;<br>
}<br><font color="#888888">
<br>
-- <br>
mvh<br>
Espen Braastad,<br>
+47 21 54 41 37<br>
<a href="mailto:espen@linpro.no" target="_blank">espen@linpro.no</a><br>
Linpro AS - Ledende på Linux<br>
<br>
<br>
</font></blockquote></div><br>