On Wed, 24 Mar 2010 17:44:27 +0100, Georg Höllrigl
<georg.hoellr...@xidras.com> wrote:
> Hello,
> 
> Is there a way to get two squid caches used as reverse proxy to have an
> consistent cache?
> 
> An example would be a file that contains "abcd" - I request the file,
get
> balanced to squid1 which 
> caches the file du to the expire header for one hour. Then the file gets
> changed to contain "abcde". 
> The next request gets to squid2 and is cached there.
> 
> Now I get different files out of the caches!

Only if the request/response headers specify that both are valid at the
same time.

> 
> What even more confuses me - somtimes the caches re-request the file
from
> source and I get an 
> updated version of the file, even when the expire time isn't over.
> How does squid determine, when to re-request the cached files?

Many reasons...

 when the Expires: header is in the past
 when the client request contains no-cache
 when the client request contains no-store
 when the client request contains private
 when the client request contains authentication credentials
 when the client request contains must-revalidate
 when the client request contains max-age shorted than the stored object
 when the stored object contains must-revalidate
 when the stored object contains Vary: header for a different set of
client headers
 (I'm sure I've missed a few)

It sounds to me like you are dealing with a web server that does not set
the correct response headers. OR that you or one of your upstream caches
are overriding some of those correct headers with refresh_pattern badness.

Amos


Reply via email to