对于家庭实验室环境,我在 CentOS 7(最小)上设置了一个 Squid 3.3.8 缓存服务器作为代理服务器(而不是具有透明缓存的默认网关)。
使用 Xubuntu 客户端,我设置了代理网络:
export http_proxy="192.168.1.15:3128" (the same pattern for https and ftp)
Web 浏览功能正常,我可以看到它进入了日志/var/log/squid/access.log
。但是,尽管有 30GB 的可用缓存空间和每个对象大小限制为 6GB,但 .ISO 映像等大文件却无法缓存。
我该如何排除故障并修复此问题?
我在日志文件中连续看到两次未命中,我理解这意味着 Squid 缓存失败。
1442197979.371 394811 192.168.1.61 TCP_MISS/200 666894705 获取 http://ftp.osuosl.org/pub/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1503-01.iso - HIER_DIRECT/140.211.166.134 应用程序/八位字节流 ---- 1442199880.195 414232 192.168.1.61 TCP_MISS/200 666894705 获取 http://ftp.osuosl.org/pub/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1503-01.iso - HIER_DIRECT/140.211.166.134 应用程序/八位字节流
鱿鱼配置:
缓存目录 ufs /var/spool/squid 30720 16 256 缓存内存 256 MB 内存中最大对象大小 512 KB 最大对象大小 6 GB cache_replacement_policy 堆 LFUDA 范围偏移限制 -1 quick_abort_min -1 KB
答案1
根据这个答案在 Server Fault 上—来源此主题官方 Squid Proxy 支持网站—应将文件中的maximum_object_size
放在 上方。cache_dir
squid.conf
知道这一点后,只需从这里更改您的配置:
cache_dir ufs /var/spool/squid 30720 16 256
cache_mem 256 MB
maximum_object_size_in_memory 512 KB
maximum_object_size 6 GB
cache_replacement_policy heap LFUDA
range_offset_limit -1
quick_abort_min -1 KB
对此:
maximum_object_size 6 GB
cache_dir ufs /var/spool/squid 30720 16 256
cache_mem 256 MB
maximum_object_size_in_memory 512 KB
cache_replacement_policy heap LFUDA
range_offset_limit -1
quick_abort_min -1 KB
重新启动 Squid 代理并查看发生的情况。