F5 loadbalancer between varnish and web servers

Tharanga Abeyseela tharanga.abeyseela at gmail.com
Thu Jan 17 05:24:44 CET 2013

Hi Guys,

I'm configuring a varnish instance to send traffic to  a f5
loadbalancer Virtual Address, and F5 will do the loadbalancing work.
(im not using varnish to do loadbalancing)

my domains are    www.stage-abc.com

im running two web servers.(name based virtual hosting on both nodes).
 node1, node2.

varnish instance will send traffic to loadbalancer and loadbalancer
will send traffic to either node1 or node2.

my question is how should i define the backend configuration and  send
host headers to f5 loadbalancer. (i need to remove 80,443 or www
this is my config - varnish version 3

/etc/sysconfig/varnish (im running centos)

i have changed the below section. (to listen to 80,443)

DAEMON_OPTS="-a :80,:443 \
             -T localhost:6082 \
             -f /etc/varnish/default.vcl \
             -u varnish -g varnish \
             -S /etc/varnish/secret \
             -s file,/var/lib/varnish/varnish_storage.bin,1G"

others are default settings. .

My VCL looks like this


backend f5 {
  .host = "";

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$", "");
set req.http.Host = regsub(req.http.Host, ":443$", "");

 if (req.http.Host == "stage-abc.com")
   include "/etc/varnish/abc.com.vcl";

if (req.http.Host == "stage-xyz.com")
   include "/etc/varnish/xyz.com.vcl";

do i actually need a abc.com.vcl /xyz.com.vcl or do i need to forward
the host header to F5 VIP

If i need to forward the header how should i do it inside vcl

please let me know.


More information about the varnish-misc mailing list