[squid-users] How to make squid ignore max-age?

From: Yang Zhang <yanghatespam_at_gmail.com>
Date: Mon, 18 Apr 2011 20:07:33 -0700

We're using squid (3.0.STABLE19-1ubuntu0.1) as an application cache
and we're trying to cache everything, for a long time, but max-age=0
is throwing off squid.

I have this refresh_pattern in squid.conf:

$ grep ^refresh_pattern /etc/squid3/squid.conf
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 525600 100% 525600 override-expire ignore-private
ignore-no-cache ignore-no-store

I have the following response prepared to be sent from a dummy web server:

$ cat response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Expires: 0
Pragma: no-cache
Cache-Control: no-cache, must-revalidate, max-age=0
Content-Type: text/html;charset=UTF-8
Date: Mon, 18 Apr 2011 10:06:26 GMT
Connection: close

<!DOCTYPE html>
<html lang="en">
</html>

$ while true; do nc -l 8765 < response; done

This response prevents anything from being cached; all requests for
http://localhost:8765 result in TCP_MISS. I believe it's because of
the max-age=0 - once I remove that, this request is cached fine. Yet
I had set override-expire in the refresh_pattern.

(Note that I don't think it's a must-revalidate/ignore-revalidate (new
in v3.1) problem - I can leave that in fine.)

Any hints on how to make squid ignore the max-age=0? I've pored over
the refresh_pattern documentation a bunch of times but still can't see
what's wrong. Thanks in advance for any help.

-- 
Yang Zhang
http://yz.mit.edu/
Received on Tue Apr 19 2011 - 03:08:02 MDT

This archive was generated by hypermail 2.2.0 : Tue Apr 19 2011 - 12:00:04 MDT