<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#ffffff">
    <pre wrap="">Please use double equation marks:

if (req.http.Host == "domain1.com") { ..... }

Stefan
</pre>
    <br>
    Am 16.12.2010 10:06, schrieb Frank Helmschrott:
    <blockquote
      cite="mid:AANLkTik7crE4-8G3kMTJ4mYvZqdXVwvoOoNXgi7S1yku@mail.gmail.com"
      type="cite">
      <pre wrap="">Hi list,

here's my situation:

I got one dedicated server to run varnish and multiple backend servers
delivering websites. These Backend servers host several different web
projects and the standard solution is the each project runs without
any cache or anything else.

Now i want to take some load off of the servers by using varnish and
routing them through the cache. I thought about different solutions
and searched around a bit and came across this blog post
(<a class="moz-txt-link-freetext" href="http://www.varnish-software.com/blog/virtual-hosts-varnish">http://www.varnish-software.com/blog/virtual-hosts-varnish</a>) and also
found the mailing list entry on that topic. I tried it out in my
config but it didn't work. I think this is due to my missing knowledge
so i thought i'd ask here.

I currently have a default.vcl containing these lines:

sub vcl_recv {
        if (!req.http.Host)
        {
                error 404 "Need a host header";
        }

        set req.http.Host = regsub(req.http.Host, "^www\.", "");
        set req.http.Host = regsub(req.http.Host, ":80$", "");

        if (req.http.Host = "domain1.com")
        {
                include "/etc/varnish/vhost-domain1.com.vcl";
        }
        elsif (req.http.Host = "domain2.com")
        {
        include "/etc/varnish/vhost-domain2.com.vcl";
        }
}


The two vhost files contain a basically working configuration (it
workes well when using it as the only config). With the default.vcl
from above varnish doesn't start. Unfortunately on my server (using
CentOS 5.5 and varnish from EPL) i don't get any error messages what
may be wrong. Is there something missing that must be set before this
if/else statement can be handled?

I'm currently a bit confused and don't know where to continue. Any
help is appreciated. I'm using the latest Version from EPEL which is
2.0.6

One additional question: When fetching the files from backend servers,
doesn't varnish send a hostname? I tried putting some more vhosts on
one IP on the backend and setup this IP in varnish as backend server
but what varnish delivered was the default content from the backend
instead of the vhosts content the hostname belonged to.

Thanks for helping!
</pre>
    </blockquote>
    <br>
    <br>
    <div class="moz-signature">-- <br>
      <style>
.FONT8B  {font-family:Geneva,Arial,Helvetica; font-size:8pt; color: blue }
.FONT8S  {font-family:Geneva,Arial,Helvetica; font-size:8pt; color: #404050 }
</style>
      <p class="FONT8B"><b>Dipl.-Inform. Stefan Pommerening<br>
          Informatik-Büro: IT-Dienste & Projekte, Consulting &
          Coaching</b><br>
        An der Kappe 171 B, 13583 Berlin, Germany, Email: <a
          href="mailto:pom@dmsp.de">pom@dmsp.de</a><br>
        Telephone(Office): +49-(0)30 / 375 84 888, Mobile: +49 - (0)179
        / 394
        80 72<br>
        Fax(Office): +49-(0)30 / 604 8594, <a
          href="http://www.dmsp.de/">http://www.dmsp.de</a></p>
      <p class="FONT8S">
        Der Inhalt dieser E-Mail ist vertraulich und ausschließlich für
        den<br>
        bezeichneten Adressaten bestimmt. Wenn Sie nicht der vorgesehene<br>
        Adressat dieser E-Mail oder dessen Vertreter sein sollten, so
        beachten<br>
        Sie bitte, dass jede Form der Kenntnisnahme, Veröffentlichung,<br>
        Vervielfältigung oder Weitergabe des Inhalts dieser E-Mail
        unzulässig<br>
        ist. Wir bitten Sie, sich in diesem Fall mit dem Absender der
        E-Mail in<br>
        Verbindung zu setzen.</p>
    </div>
  </body>
</html>