最近我的 squid3 出现了问题,我使用的是 10.04.3 LTS。配置好的 squid 自 8.04.04 以来一直处于配置状态,但它并没有正常工作。
我在 LAN 中遇到 bz2 文件问题,当我尝试执行 apt-get 更新时,它只是说由于总和哈希不匹配,无法下载某些索引。
如果你检查 squid 日志,你会发现这种文件
TCP_REFRESH_UNMODIFIED/206
在 Google 上搜索后我发现,Squid 缓存保存的文件比平时多,因此我添加了这个,希望能解决问题:
refresh_pattern -i \.bz2$ 0 0% 60 override-lastmod refresh-ims override-expire
我不知道这样写是否好,但是它并没有解决问题,而且知道 squid 日志显示,
TCP_REFRESH_UNMODIFIED/304
但哈希值不匹配的行为相同,如果有人能在这里解释一下,请指正。到目前为止,解决这个问题的唯一方法是删除所有缓存,然后每天早上重新创建,但这远非解决方案。
如能得到任何帮助,我们将不胜感激。
问候。
答案1
我最近在阅读 IRC 日志,其中记录了 squid 的一位作者和 Ubuntu 档案管理员之间的对话,我认为档案设置“Expires:”标头的方式确实存在问题,有时会导致此问题。这不应该是发布Ubuntu 版本,因此它只会在 -updates/-security 和当前开发版本中出现问题。基本上,squid 从一个镜像中获取 Packages.bz2,然后它被更新,但您的缓存没有得到它,导致文件丢失或者看起来是一个损坏的 Packages.bz2。