On Wed, 24 Mar 2010 17:44:27 +0100, Georg Höllrigl <georg.hoellrigl@xxxxxxxxxx> 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