cancel varnish cache so that it goes to the backend on the homepage only
Solution 1:
The following code is indeed to right way to bypass the cache on the homepage:
if (req.url == "/") {
return(pass);
}
However, please consider the impact of such an action. The homepage is the point of entry for the majority of your users. Not being able to cache it will have a severe impact on your performance.
The question is: what kind of cookie are you setting on the homepage?
- Is this cookie really required?
- Could to cookie be synthesized and created by Varnish instead?
- Could the cookie be set by Javascript instead.
Please consider your options and try to look for a solution where your most important page is still cached.
As a side-effect, you'll need to write the necessary VCL to deal with the Cookie
request header for incoming requests that are considered cacheable.