Hello list, I have a vcl-config with a snippet like the one on: http://varnish-cache.org/wiki/VCLExampleLongerCaching
sub vcl_fetch { if (obj.cacheable) { unset obj.http.expires; set obj.http.cache-control = "max-age = 900"; set obj.ttl = 2w; set obj.http.magicmarker = "1"; } } sub vcl_deliver { if (resp.http.magicmarker) { /* unset marker and serve it for upstream as new */ unset resp.http.magicmarker; set resp.http.age = "0"; } } We used that in an attempt to override the expires headers from static files for a site and keep them in Varnish cache. We don't want to cache an dynamic (PHP) page. At first sight, everything went fine. But once the load rised a bit, we noticed that dynamic pages are sometimes cached. I've been checking the headers and it looks like the expires header for dynamic pages is also removed. I don't think the headers from the (first) request below should be considerd obj.cacheable according to the definition on http://varnish-cache.org/wiki/VCL Or did I miss something? Is this a mistake in my config or a possible Varnish issue? Test without the vcl snippet. PHP page: unmodified headers and not cached, as expected: HTTP/1.1 200 OK Server: Apache/2.2.3 (CentOS) X-Powered-By: PHP/5.2.12 Set-Cookie: SESSbc5f9ce1c97eee1824d1ab6sdfsdfssf70k2hqq7mgo6; expires=Wed, 24-Feb-2010 22:58:21 GMT; path=/; domain=removed Expires: Sun, 19 Nov 1978 05:00:00 GMT Last-Modified: Mon, 01 Feb 2010 19:25:01 GMT Cache-Control: store, no-cache, must-revalidate Cache-Control: post-check=0, pre-check=0 Content-Type: text/html; charset=utf-8 Content-Length: 56194 Date: Mon, 01 Feb 2010 19:25:02 GMT X-Varnish: 963899298 Age: 0 Via: 1.1 varnish Connection: close With the config: PHP page, Expires header removed and cache-control is set HTTP/1.1 200 OK Server: Apache/2.2.3 (CentOS) X-Powered-By: PHP/5.2.12 Set-Cookie: SESSbc5f9ce1c97eee1824d1ab670ce3057b=91dpgvghvkmonso1; expires=Wed, 24-Feb-2010 23:21:04 GMT; path=/; domain=removed Last-Modified: Mon, 01 Feb 2010 19:47:44 GMT Content-Type: text/html; charset=utf-8 Content-Length: 59418 cache-control: max-age = 900 Date: Mon, 01 Feb 2010 19:47:48 GMT X-Varnish: 1790685114 Via: 1.1 varnish Connection: close age: 0 I used the same VCL-code in vcl_fetch for both examples and for static files, everything works as expected. Any ideas? (Running on Varnish 2.0.6) Luc sub vcl_recv { # Add a unique header containing the client address remove req.http.X-Forwarded-For; set req.http.X-Forwarded-For = client.ip; /* Don't cache accept */ if (req.http.host ~ "^some.host$") { return (pass); } if (req.url ~ "\.(css|js|jpg|jpeg|gif|ico|png)$") { unset req.http.cookie; lookup; } /* Never cache php files... */ if (req.url ~ ".*\.php") { return (pass); } /* ... or Apache server status */ if (req.url ~ ".*/server-status$") { return (pass); } } _______________________________________________ varnish-misc mailing list varnish-misc@projects.linpro.no http://projects.linpro.no/mailman/listinfo/varnish-misc