Hi,
Objects don't get cached in Squid 3.2. Same transactions and config
works in 3.1
I will show my problem with a simple webserver listening on
127.0.0.1:9990
and sending transactions from curl to a squid listening on
127.0.0.1:9993
3.1 logs first a MISS since the cache is empty and when repeating the
transaction a HIT.
3.2 logs 2 MISSes
# /opt/squid-3.1.19/sbin/squid -v
Squid Cache: Version 3.1.19
configure options: '--prefix=/opt/squid-3.1.19' '--disable-wccp'
'--disable-wccpv2' '--disable-ident-lookups' '--disable-ipv6'
'--with-large-files' --with-squid=/usr/local/src/squid-3.1.19
--enable-ltdl-convenience
# /opt/squid-3.2.0.16/sbin/squid -v
Squid Cache: Version 3.2.0.16
configure options: '--prefix=/opt/squid-3.2.0.16' '--disable-wccp'
'--disable-wccpv2' '--disable-ident-lookups' '--disable-ipv6'
'--with-large-files' --enable-ltdl-convenience
# cat 3.conf
http_port 127.0.0.1:9993
icp_port 0
cache_mem 128 mb
#cache_dir null /tmp
access_log /tmp/3/access.log
cache_log /tmp/3/cache.log
pid_filename /tmp/3/squid.pid
coredump_dir /tmp/3
refresh_pattern . 0 20% 4320
http_access allow all
http_reply_access allow all
shutdown_lifetime 2 seconds
# thttpd -p 9990 -d /tmp # start thttpd webserver serving files in
directory /tmp
# echo HiHo >/tmp/x # Create a file to serve
# /opt/squid-3.1.19/sbin/squid -f 3.conf
# curl -v -H "Pragma:" -x 127.0.0.1:9993 http://127.0.0.1:9990/x
* About to connect() to 127.0.0.1 port 9993
* Trying 127.0.0.1... * connected
* Connected to 127.0.0.1 (127.0.0.1) port 9993
GET http://127.0.0.1:9990/x HTTP/1.1
User-Agent: curl/7.12.1 (i386-redhat-linux-gnu) libcurl/7.12.1
OpenSSL/0.9.7a zlib/1.2.1.2 libidn/0.5.6
Host: 127.0.0.1:9990
Accept: */*
< HTTP/1.0 200 OK
< Server: thttpd/2.25b 29dec2003
< Content-Type: text/plain; charset=iso-8859-1
< Date: Wed, 14 Mar 2012 15:49:39 GMT
< Last-Modified: Wed, 14 Mar 2012 15:47:14 GMT
< Accept-Ranges: bytes
< Content-Length: 5
< X-Cache: MISS from localhost.localdomain
< Via: 1.0 localhost.localdomain (squid/3.1.19)
* HTTP/1.0 connection set to keep alive!
< Connection: keep-alive
HiHo
* Connection #0 to host 127.0.0.1 left intact
* Closing connection #0
# curl -v -H "Pragma:" -x 127.0.0.1:9993 http://127.0.0.1:9990/x
* About to connect() to 127.0.0.1 port 9993
* Trying 127.0.0.1... * connected
* Connected to 127.0.0.1 (127.0.0.1) port 9993
GET http://127.0.0.1:9990/x HTTP/1.1
User-Agent: curl/7.12.1 (i386-redhat-linux-gnu) libcurl/7.12.1
OpenSSL/0.9.7a zlib/1.2.1.2 libidn/0.5.6
Host: 127.0.0.1:9990
Accept: */*
< HTTP/1.0 200 OK
< Server: thttpd/2.25b 29dec2003
< Content-Type: text/plain; charset=iso-8859-1
< Date: Wed, 14 Mar 2012 15:49:39 GMT
< Last-Modified: Wed, 14 Mar 2012 15:47:14 GMT
< Accept-Ranges: bytes
< Content-Length: 5
< Age: 8
< X-Cache: HIT from localhost.localdomain
< Via: 1.0 localhost.localdomain (squid/3.1.19)
* HTTP/1.0 connection set to keep alive!
< Connection: keep-alive
HiHo
* Connection #0 to host 127.0.0.1 left intact
* Closing connection #0
# /opt/squid-3.1.19/sbin/squid -f 3.conf -k shutdown
# cat access.log
1331740179.023 2 127.0.0.1 TCP_MISS/200 339 GET
http://127.0.0.1:9990/x - DIRECT/127.0.0.1 text/plain
1331740187.003 0 127.0.0.1 TCP_MEM_HIT/200 346 GET
http://127.0.0.1:9990/x - NONE/- text/plain
# rm access.log
# /opt/squid-3.2.0.16/sbin/squid -f 3.conf
# curl -v -H "Pragma:" -x 127.0.0.1:9993 http://127.0.0.1:9990/x
* About to connect() to 127.0.0.1 port 9993
* Trying 127.0.0.1... * connected
* Connected to 127.0.0.1 (127.0.0.1) port 9993
GET http://127.0.0.1:9990/x HTTP/1.1
User-Agent: curl/7.12.1 (i386-redhat-linux-gnu) libcurl/7.12.1
OpenSSL/0.9.7a zlib/1.2.1.2 libidn/0.5.6
Host: 127.0.0.1:9990
Accept: */*
< HTTP/1.1 200 OK
< Server: thttpd/2.25b 29dec2003
< Content-Type: text/plain; charset=iso-8859-1
< Date: Wed, 14 Mar 2012 15:55:29 GMT
< Last-Modified: Wed, 14 Mar 2012 15:47:14 GMT
< Accept-Ranges: bytes
< Content-Length: 5
< X-Cache: MISS from localhost.localdomain
< Via: 1.1 localhost.localdomain (squid/3.2.0.16)
< Connection: keep-alive
HiHo
* Connection #0 to host 127.0.0.1 left intact
* Closing connection #0
# curl -v -H "Pragma:" -x 127.0.0.1:9993 http://127.0.0.1:9990/x
* About to connect() to 127.0.0.1 port 9993
* Trying 127.0.0.1... * connected
* Connected to 127.0.0.1 (127.0.0.1) port 9993
GET http://127.0.0.1:9990/x HTTP/1.1
User-Agent: curl/7.12.1 (i386-redhat-linux-gnu) libcurl/7.12.1
OpenSSL/0.9.7a zlib/1.2.1.2 libidn/0.5.6
Host: 127.0.0.1:9990
Accept: */*
< HTTP/1.1 200 OK
< Server: thttpd/2.25b 29dec2003
< Content-Type: text/plain; charset=iso-8859-1
< Date: Wed, 14 Mar 2012 15:55:34 GMT
< Last-Modified: Wed, 14 Mar 2012 15:47:14 GMT
< Accept-Ranges: bytes
< Content-Length: 5
< X-Cache: MISS from localhost.localdomain
< Via: 1.1 localhost.localdomain (squid/3.2.0.16)
< Connection: keep-alive
HiHo
* Connection #0 to host 127.0.0.1 left intact
* Closing connection #0
# /opt/squid-3.2.0.16/sbin/squid -f 3.conf -k shutdown
# cat access.log
1331740529.630 1 127.0.0.1 TCP_MISS/200 341 GET
http://127.0.0.1:9990/x - HIER_DIRECT/127.0.0.1 text/plain
1331740534.093 1 127.0.0.1 TCP_MISS/200 341 GET
http://127.0.0.1:9990/x - HIER_DIRECT/127.0.0.1 text/plain
To repeat : Squid 3.1 logs expected MISS + HIT while 3.2 logs MISS +
MISS.
Does anyone have any idea what I am missing here ?
Regards,
Erik Svensson