squid-deb-proxy 无法缓存软件包

squid-deb-proxy 无法缓存软件包

在安装了Ubuntu 12.04 的服务器上,squid-deb-proxy网络上的客户端机器在安装软件包时将正确联系服务器,但squid永远不会缓存软件包。

/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

192.168.1.220 和 .210 均已联系服务器 (.210服务器(也已squid-deb-proxy-client安装)却收到了 ,而TCP_MISS/200不是收到缓存的包。

/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

如果我没看错store.log的话,squid缓存了完全相同文件的两个副本。(我曾经cowsay测试过;更大的文件,比如linux-headers-*也从未被缓存过。)

与默认设置相比,唯​​一的变化squid-deb-proxy.conf是启用镜像:

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

squid最后,我在特定日志中看到的唯一错误是:

$ 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'

假设客户端正确联系服务器的代理,为什么不squid缓存并返回包?

答案1

从头开始(清除并重新安装)后,我终于发现了问题。

squid-deb-proxy.conf(我想法启用镜像是罪魁祸首。

我不明白文件中的注释,例如:“ # uncomment the third and fouth line to permit any unlisted domain”。只有行,并取消注释该注释下方的行,这似乎(对于不熟悉squid配置语法的人来说)是互相否定。 反转选项(注释掉最初未注释的选项,并激活最初注释的选项)显然不起作用。

还有一点:自动生成的文件对目录中的备份文件很敏感*.d/。我注意到其中包含和/etc/squid-deb-proxy/autogenerated/mirror-dstdomain.acl的内容。mirror-dstdomain.acl.d/10-defaultmirror-dstdomain.acl.d/10-default~

相关内容