On 30/04/2012 14:32, Andy Taylor wrote:
Hi,
I'm having a number of problems with Squid at the moment with duplicate
Etags in the headers. I'm using Squid as an accelerator to forward
traffic to Apache, which serves up a Drupal installation.
After roughly 3 days, a number of pages on the site start to fail with
400 Bad Request errors; it starts with just a few and then slowly
spreads to more pages. I did a tcpdump of the requests coming from Squid
to Apache, and Apache is spitting out a 400 error because of the header
size. Hundreds of etags are appearing in the If-None-Match headers
field, which hits Apache's header size limit, causing the error. The
only way I've found to 'fix' this so far is to either:
1. Flush Squid cache entirely
2. Purge the affected pages
But then after a few days the problem comes back again. I've been using
Squid as an accelerator to Drupal installations for years and this
hasn't happened before. I'm using the following version of Squid:
Squid Cache: Version 2.6.STABLE21
which is the latest version available in the CentOS 5 repositories. The
only difference between this installation of Squid/Apache/Drupal and
others which have worked fine in the past is the version of Drupal -
Drupal 7. Supposedly Drupal 7 has significantly altered cache handling,
but I can't work out why this would cause this problem with Squid.
The only thing I can think of at the moment is something to do with
Squid's cache rotation (specifically the LRU functionality), so that
when Squid rotates its cache, something ends up corrupted or malformed.
Any help or suggestions would be much appreciated!
Thanks,
Andy Taylor
i suppose that there are many changes since squid 2.6 and for me squid
3119 and 3216 works fine with drupal so i suppose you can try to compile
a more advanced and supported version of squid as a starter.
Eliezer
--
Eliezer Croitoru
https://www1.ngtech.co.il
IT consulting for Nonprofit organizations
eliezer <at> ngtech.co.il