i have one web server which is IIS that is back on varnish. there are more web sites on ISS. there are all web sites header's on IIS and all web sites publish from port 80. can i cache all web site by varnish like below code;

1 Answer
1

If you are caching many sites behind one varnish instance, and those sites exist on the same machine, you really don't need to do anything more than set:

backend default {
.host = "192.168.0.1";
.port = "80";
}

As long as the backend answers properly, Varnish will handle this fine. You would use if blocks to alter the hostname being passed to the backend, or, if you needed to do load balancing, etc. In your case, specifying the default backend without any other VCL will do what you need.

okay thank you for yor help. so did i write if block right?
–
KerberosApr 2 '10 at 20:19

If you have 1 varnish server in front of your origin server, you don't need the if block.
–
deletedApr 2 '10 at 21:05

acctually, we have 2 varnish servers (they are have internal ip) and we are making load balance with a public (real) ip by hardware. varnish servers make load balance two iis servers (they are have internal ip) too. iis servers are back side of varnish servers and we want to cache 5 web sites which are on iis with 2 varnish servers. domains are on iis like that; www.domain1.com, www1.domain2.com, www2.domain2.com, www.domain3.com, www.domain4.com
–
KerberosApr 2 '10 at 21:32

If both varnish machines are pointing to one origin server, you don't need the if block. You only need the if blocks when you need to force a domain to use a different backend. Even with load balancing, as long as each origin server can serve all domains, you won't need any extra VCL.
–
deletedApr 2 '10 at 21:42

okay, what does "backend" mean about mine structure? it is IIS server, is it?
–
KerberosApr 2 '10 at 22:11