Squid: cache * .swf com variáveis

0

Eu recentemente atualizei meu servidor Ubuntu 11.10 x64 para 12.04. Neste processo o Squid foi atualizado de 2.7 para 3.1. O Squid 3.1 tem muitas opções diferentes, as quais quebraram minha configuração. Então eu removi completamente o squid 2.7 e 3.1 e comecei do zero. Tudo está funcionando como antes, exceto por 1 coisa: o armazenamento em cache de arquivos .swf com? / Variables. Lula 3 vê um? como conteúdo dinâmico e não armazena em cache.

Por exemplo, o Squid 2.7 armazenava em cache o arquivo .swf no link e 3.1 não é.

<object id="mov" name="movn" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="800" height="620">
  <param name="movie" value="http://www.ninjakiwifiles.com/Games/gameswfs/btd5.swf?v=160512-2">
  <param name="allowscriptaccess" value="always">
  <param name="bgcolor" value="#000000">
  <param name="flashvars" value="file=http://www.ninjakiwifiles.com/Games/gameswfs/btd5-dat.swf?v=280512">
    <p>Get Flash play Ninja Kiwi games.</p>
</object>

É por causa da parte "? v = 160512-2" e "? v = 280512". Esta linha deve ser responsável por isso:

refresh_pattern -i (/cgi-bin/|\?) 0    0%      0

Mas a desativação ainda não armazena em cache os arquivos .swf.

Como faço para configurar o Squid 3.1 para armazenar esses arquivos em cache?

Minha configuração atual é:

acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
acl localnet src 192.168.2.0-192.168.2.254
acl localnet src 192.168.3.0-192.168.3.254
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow localnet
http_access deny all
http_port 3128
cache_dir ufs /var/spool/squid 10240 16 256 
maximum_object_size 100 MB
coredump_dir /var/spool/squid3
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i \.(gif|png|jpg|jpeg|ico)$ 10080 90% 43200 override-expire ignore-no-cache ignore-no-store ignore-private
refresh_pattern -i \.(iso|avi|wav|mp3|mp4|mpeg|swf|flv|x-flv)$ 43200 90% 432000 override-expire ignore-no-cache ignore-no-store ignore-private
refresh_pattern -i \.(deb|rpm|exe|zip|tar|tgz|ram|rar|bin|ppt|doc|tiff)$ 10080 90% 43200 override-expire ignore-no-cache ignore-no-store ignore-private
refresh_pattern -i \.index.(html|htm)$ 0 40% 10080
refresh_pattern -i \.(html|htm|css|js)$ 1440 40% 40320
refresh_pattern Packages\.bz2$ 0       20%     4320 refresh-ims
refresh_pattern Sources\.bz2$  0       20%     4320 refresh-ims
refresh_pattern Release\.gpg$  0       20%     4320 refresh-ims
refresh_pattern Release$       0       20%     4320 refresh-ims
refresh_pattern . 0 40% 40320
cache_effective_user proxy
cache_effective_group proxy
    
por stfn 31.05.2012 / 00:27

1 resposta

0

O Squid 3.1 não possui os parâmetros storeurl_rewrite_program, necessários para armazenar em cache os parâmetros de consulta. Não há como fazer isso.

    
por Diego Woitasen 31.05.2012 / 14:58