Я установил Squid Proxy через sudo apt-get install squid
на Ubuntu для прямого прокси
Я не менял никаких настроек по умолчанию в squid.conf, кроме http_access deny all
к http_access allow all
Теперь я использовал эту команду # tail -f /var/log/squid3/access.log
чтобы отслеживать журналы доступа Squid в режиме реального времени, и я вижу, что, несмотря на множество различных типов веб-сайтов, статических и динамических, множество изображений и статических файлов, результаты всегда одинаковы.
Много TCP_Miss и почти два или три TCP_Hits Я также проверил размер спула Squid, и он всего 4,0K
Итак, теперь я знаю, что Squid ничего не кеширует. Кто-нибудь может мне в этом помочь? Я читал почти все статьи из Google при поиске «Squid TCP_Miss» и «Squid not caching», но ни одна из них не сработала для меня.
Спасибо
Была та же проблема, но разобрался. В конце файла конфигурации squid у вас есть шаблоны обновления - refresh_pattern
и некоторые правила после (объяснение Вот). По умолчанию используется шаблон catch all с символом '.
'. Он подчиняется обновлению клиента, поэтому контент не может быть доставлен из кеша. Я добавил это правило прямо над правилом с '.
'и теперь можно кэшировать .png
файлы в течение 120 секунд.
refresh_pattern .png 120 50% 86400 ignore-reload
refresh_pattern . 0 20% 4320
Squid (и остальные прокси-серверы) кэширует только статический контент. Не динамические веб-страницы. Итак, вы увидите много TCP_MISS для страниц php / asp и т.д. Кроме того, если веб-мастер установил директиву no_cache, даже файлы JPG не будут кэшироваться.