squid-deb-proxy falha ao armazenar pacotes em cache

2

Em um servidor Ubuntu 12.04, com squid-deb-proxy instalado, as máquinas cliente na rede entrarão em contato adequadamente com o servidor ao instalar pacotes, mas squid nunca armazena em cache os pacotes.

De /var/log/squid-deb-proxy/access.log :

1368371692.721    485 192.168.1.220 TCP_MISS/200 20304 GET http://us.archive.ubuntu.com/ubuntu/pool/universe/c/cowsay/cowsay_3.03+dfsg1-3_all.deb - DIRECT/91.189.91.13 application/x-debian-package
1368371721.534    264 192.168.1.210 TCP_MISS/200 20304 GET http://us.archive.ubuntu.com/ubuntu/pool/universe/c/cowsay/cowsay_3.03+dfsg1-3_all.deb - DIRECT/91.189.91.13 application/x-debian-package

Ambos 192.168.1.220 & amp; .210 entrou em contato com o servidor (.210 é o servidor, mas também tem squid-deb-proxy-client instalado), mas .210 recebeu TCP_MISS/200 , em vez de receber o pacote em cache.

De /var/log/squid-deb-proxy/store.log :

1368371692.721 RELEASE -1 FFFFFFFF 1255C76AE7E24BA02B4ABB6A3E4AB535  200 1368371672 1293023126        -1 application/x-debian-package 19904/19904 GET http://us.archive.ubuntu.com/ubuntu/pool/universe/c/cowsay/cowsay_3.03+dfsg1-3_all.deb
1368371721.534 RELEASE -1 FFFFFFFF 3534FA3574ED95020E8C960C75129676  200 1368371700 1293023126        -1 application/x-debian-package 19904/19904 GET http://us.archive.ubuntu.com/ubuntu/pool/universe/c/cowsay/cowsay_3.03+dfsg1-3_all.deb

Se eu estiver lendo store.log , squid armazenou em cache duas cópias do mesmo arquivo. (Eu usei cowsay para testar; arquivos muito maiores, como linux-headers-* também nunca foram armazenados em cache.)

As únicas alterações do padrão squid-deb-proxy.conf foram ativar os espelhos:

81,82c81,82
< http_access deny !to_ubuntu_mirrors
< #http_access allow !to_ubuntu_mirrors
---
> #http_access deny !to_ubuntu_mirrors
> http_access allow !to_ubuntu_mirrors
86,87c86,87
< cache deny !to_ubuntu_mirrors
< #cache allow !to_ubuntu_mirrors
---
> #cache deny !to_ubuntu_mirrors
> cache allow !to_ubuntu_mirrors

Por fim, os únicos erros que vi nos registros squid -specific são:

$ sudo cat /var/log/upstart/squid-deb-proxy.log.1
2013/05/09 09:27:05| Warning: empty ACL: acl blockedpkgs urlpath_regex "/etc/squid-deb-proxy/autogenerated/pkg-blacklist-regexp.acl"
2013/05/09 09:27:05| WARNING: (B) '::/0' is a subnetwork of (A) '::/0'
2013/05/09 09:27:05| WARNING: because of this '::/0' is ignored to keep splay tree searching predictable
2013/05/09 09:27:05| WARNING: You should probably remove '::/0' from the ACL named 'all'

Considerando que os clientes estão contatando corretamente o proxy do servidor, por que não squid cache & amp; devolver os pacotes?

    
por tephyr 12.05.2013 / 17:41

1 resposta

1

Depois de começar do zero (remover e reinstalar), finalmente descobri o problema.

As alterações em squid-deb-proxy.conf (que eu achei ativadas como espelhos) foram as culpadas.

Eu não entendo os comentários no arquivo, como: " # uncomment the third and fouth line to permit any unlisted domain ". Existem apenas duas linhas abaixo do comentário, e remover o comentário de ambas as linhas pareceria (para alguém sem valor na sintaxe de configuração do squid ) negar um ao outro. Invertendo as opções (comentando o originalmente não comentado e ativando o originalmente comentado) obviamente não funcionou.

Um outro ponto: os arquivos autogerados são sensíveis aos arquivos de backup nos diretórios *.d/ . Percebi que /etc/squid-deb-proxy/autogenerated/mirror-dstdomain.acl tinha o conteúdo de ambos os mirror-dstdomain.acl.d/10-default e mirror-dstdomain.acl.d/10-default~ .

    
por tephyr 16.05.2013 / 05:33