0

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;

backend cacheWebSite{.host = "192.168.0.1"; .port = "80";} sub vcl_recv {if (req.http.host == "www.example1.com") {set req.backend = CacheWebSites;} if (req.http.host == "www.example2.com") {set req.backend = CacheWebSites; } if (req.http.host == "www.example3.com") {set req.backend = CacheWebSites; }}

i can't test this code. that is just senario. thank you for your help already now.

1 Answer 1

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.

9
  • okay thank you for yor help. so did i write if block right?
    – Kerberos
    Apr 2, 2010 at 20:19
  • If you have 1 varnish server in front of your origin server, you don't need the if block.
    – deleted
    Apr 2, 2010 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
    – Kerberos
    Apr 2, 2010 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.
    – deleted
    Apr 2, 2010 at 21:42
  • okay, what does "backend" mean about mine structure? it is IIS server, is it?
    – Kerberos
    Apr 2, 2010 at 22:11

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .