.vcl rule to pass no content

Lane, Richard rlane at ahbelo.com
Fri Dec 9 20:06:55 CET 2011


Joshua,

Actually the code I sent looks for a length that is 299 bytes or smaller. So if you wanted to look for less you would need to change up the regex on Content-Length to something like

If less than 10 bytes  - “^[0-9]”
If less than 30 bytes  - “^[0-2]\d”

However this may not work for you either because the Content-Length includes headers also. I will give your question a little more thought.

Cheers,
Richard

On 12/9/11 11:25 AM, "Lane, Richard" <rlane at ahbelo.com> wrote:

The should work for you if you get a content type and length from backend. This works on varnish 2.15

I placed this is my fetch block.

# Don't cache html objects smaller than 100 bytes
if ((beresp.status == 200) && (beresp.http.Content-Length ~
"^([0-2]|\d)\d") && ( beresp.http.Content-type ~ "html") ) {
   log "TooSmall: Pass on ( " req.url " ) small objects: " beresp.http.Content-Length ;
   return(pass);
}

Richard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-misc/attachments/20111209/8c893961/attachment-0003.html>


More information about the varnish-misc mailing list