Назад | Перейти на главную страницу

Squid ОТСУТСТВУЕТ при перезагрузке страниц, которые следует кэшировать

Я борюсь с этим некоторое время, но я не могу понять, почему запрос не кэшируется.

Заголовки ответа:

HTTP/1.1 200 OK
Date: Tue, 20 Aug 2013 16:42:12 GMT
Server: Apache/2.2.23 (Unix) mod_ssl/2.2.23 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 mod_perl/2.0.6 Perl/v5.8.8
Expires: Tue, 20 Aug 2013 22:32:41 GMT
Pragma: public
Cache-Control: max-age=21029, public, must-revalidate, proxy-revalidate
X-Powered-By: W3 Total Cache/0.9.3
Vary: 
Last-Modified: Tue, 20 Aug 2013 16:32:41 GMT
Content-Type: text/html; charset=UTF-8
X-Cache: MISS from proxy
X-Cache-Lookup: MISS from proxy:3128
Transfer-Encoding: chunked
Via: 1.1 proxy (squid/3.2.13)
Connection: keep-alive

Ключевые поля, на которые я смотрю: Date, Expires, Pragma, Cache-Control, X-Cache и X-Cache-Lookup.

Это говорит мне: «Эй, пожалуйста, закешируйте это», но squid просто говорит «MISS» при повторных запросах.

Соответствующий шаблон refresh_pattern:

refresh_pattern . 0 20% 4320 reload-into-ims

Что мне не хватает?

У Squid была ошибка, из-за которой запросы с заголовком Vary не кешировались - этот вопрос есть подробное описание проблемы с дополнительной информацией, но вот ее краткая версия:

Проанализировав журналы, я смог определить, что ключ поиска хэша, используемый во время хранения (то есть начальный запрос), отличается от того, который использовался во время последующих запросов. Вот почему последующие поиски - это промахи кеша.

На данный момент ошибка исправлена.