LINUX.ORG.RU
ФорумAdmin

Squid не кэширует некоторые ответы

 


0

1

Есть Squid

Squid Cache: Version 3.3.8
Ubuntu
configure options:  '--build=i686-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--libexecdir=${prefix}/lib/squid3' '--srcdir=.' '--disable-maintainer-mode' '--disable-dependency-tracking' '--disable-silent-rules' '--datadir=/usr/share/squid3' '--sysconfdir=/etc/squid3' '--mandir=/usr/share/man' '--enable-inline' '--enable-async-io=8' '--enable-storeio=ufs,aufs,diskd,rock' '--enable-removal-policies=lru,heap' '--enable-delay-pools' '--enable-cache-digests' '--enable-underscores' '--enable-icap-client' '--enable-follow-x-forwarded-for' '--enable-auth-basic=DB,fake,getpwnam,LDAP,MSNT,MSNT-multi-domain,NCSA,NIS,PAM,POP3,RADIUS,SASL,SMB' '--enable-auth-digest=file,LDAP' '--enable-auth-negotiate=kerberos,wrapper' '--enable-auth-ntlm=fake,smb_lm' '--enable-external-acl-helpers=file_userip,kerberos_ldap_group,LDAP_group,session,SQL_session,unix_group,wbinfo_group' '--enable-url-rewrite-helpers=fake' '--enable-eui' '--enable-esi' '--enable-icmp' '--enable-zph-qos' '--enable-ecap' '--disable-translation' '--with-swapdir=/var/spool/squid3' '--with-logdir=/var/log/squid3' '--with-pidfile=/var/run/squid3.pid' '--with-filedescriptors=65536' '--with-large-files' '--with-default-user=proxy' '--enable-linux-netfilter' 'build_alias=i686-linux-gnu' 'CFLAGS=-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wall' 'LDFLAGS=-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now' 'CPPFLAGS=-D_FORTIFY_SOURCE=2' 'CXXFLAGS=-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security'

конфиг

acl localnet src 192.168.1.0/24
acl vpnnet src 10.10.90.0/24
acl block_url url_regex "/etc/squid3/block.list"
http_access allow manager all
http_access deny block_url localnet
http_access deny block_url vpnnet
deny_info block localnet vpnnet
http_access deny !localnet  !vpnnet
http_port 3129 transparent
http_port 3128

cache_dir ufs /var/spool/squidcache 7000 16 256
cache_mem 2000 KB
reload_into_ims on

minimum_object_size 1 KB
maximum_object_size 1000 KB
maximum_object_size_in_memory 500 KB
cache_access_log /var/log/squid3/access.log
cache_store_log /var/log/squid3/store.log
cache_log /var/log/squid3/cache.log
logfile_rotate 5
dns_nameservers  127.0.0.1
cache_swap_low 95
cache_swap_high 99
shutdown_lifetime 2 second
cache_effective_user proxy
cache_effective_group proxy
negative_dns_ttl 1 second
positive_dns_ttl 1 second

refresh_pattern -i \.(gif|png|jpg|jpeg|ico)$ 100080 90% 432000 reload-into-ims override-expire ignore-no-cache ignore-no-store ignore-private

Проблема в том, что некоторые ответы сквид не кэширует. Например:

1425971139.205    911 192.168.1.2 TCP_MISS/200 18715 GET http://s009.youpic.su/pictures/ext/4330dee51b2f179062c5d0acf12998e1.jpg - HIER_DIRECT/104.28.0.92 image/jpeg
Заголовок запроса
Host: s009.youpic.su
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:37.0) Gecko/20100101 Firefox/37.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Cookie: __cfduid=de45116d89096f426df406be6614601251424329148
DNT: 1
Connection: keep-alive
Заголовок ответа
Accept-Ranges: bytes
CF-Cache-Status: HIT
CF-RAY: 1c4d2c2147e510b1-ORD
Cache-Control: public, max-age=2592000
Connection: keep-alive
Content-Length: 18184
Content-Type: image/jpeg
Date: Tue, 10 Mar 2015 07:05:38 GMT
Etag: "54fc89d5-4708"
Expires: Thu, 09 Apr 2015 07:05:38 GMT
Last-Modified: Sun, 08 Mar 2015 17:41:41 GMT
Server: cloudflare-nginx
Vary: Accept-Encoding
Via: 1.1 XXX.XXX.XXX.XXX (squid/3.3.8)
X-Cache: MISS from XXX.XXX.XXX.XXX
X-Cache-Lookup: MISS from XXX.XXX.XXX.XXX:3128

Вопрос не в экономии трафика, а в том, что на сайтах/форумах многие картинки/скрипты/etc хостяться на медлительных ресурсах, из-за чего страницы долго грузятся. Сквидом хочу отчасти эту проблему решить. Но он зараза не кэширует некоторые вещи. Я так понимаю в заголовке что-то эдакое, из-за чего он все время заново грузит картинку.

★★

Ответ на: комментарий от kerneliq

зачем мне перекошенные сайты? Сидеть отлавливать каждый долгий запрос и добавлять в список?

as_lan ★★
() автор топика

он не кэширует именно некоторые .jpg ?
я к тому, что сквид можно настроить на кэширование конкретных файлов. mime types называется.
может в этом проблема ?

dada ★★★★★
()
Ответ на: комментарий от dada

Именно некоторые. в логах видно что часть jpg кэшируется. И у них в заголовках запроса нет

Cache-Control: public, max-age=2592000
Vary: Accept-Encoding

поэтому подозрения что это как-то связанно. С другой стороны наткнулся на баг http://bugs.squid-cache.org/show_bug.cgi?id=3806 с похожим поведением, но он был закрыт еще в 3.2

as_lan ★★
() автор топика
Ответ на: комментарий от as_lan

решил добавлением

request_header_access Accept-Encoding deny all
as_lan ★★
() автор топика
Ответ на: комментарий от as_lan

Кстати в самом сквиде тоже есть баг. Поэтому надо ставить не ниже squid_3.3.8-1ubuntu12. (для Ubuntu естественно, для других не знаю)

as_lan ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.