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.
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:
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.