Squid3 缓存网站有效但不适用于大文件,尽管最大大小为 6GB

Sta*_*ion 5 linux ftp centos proxy squid

对于家庭实验室环境,我在 CentOS 7(最小)上设置了一个 Squid 3.3.8 缓存服务器作为代理服务器(而不是作为具有透明缓存的默认网关)。

使用 Xubuntu 客户端,我设置代理网络:

export http_proxy="192.168.1.15:3128"   (the same pattern for https and ftp)
Run Code Online (Sandbox Code Playgroud)

网页浏览有效,我可以看到它击中了日志/var/log/squid/access.log。然而,尽管有 30GB 的可用缓存空间和 6GB 的每个对象大小限制,但诸如 .ISO 图像之类的大文件并未被缓存。

我该如何解决和解决这个问题?

我在日志文件中看到两次未命中,我理解这意味着鱿鱼缓存失败。

1442197979.371 394811 192.168.1.61 TCP_MISS/200 666894705 获取 http://ftp.osuosl.org/pub/centos/7/isos/x86_64/CentOS-7-x86_10416-x86_104-16-104-104-103-104-104-104-166894705 /八位字节流
----
1442199880.195 414232 192.168.1.61 TCP_MISS/200 666894705 GET http://ftp.osuosl.org/pub/centos/7/isos/x86_64/CentOS-7-x86_10416-x86_104-D16-Minimal-104-D16-Minimal-154-D3 /八位字节流

鱿鱼配置:

cache_dir ufs /var/spool/squid 30720 16 256
cache_mem 256 MB
max_object_size_in_memory 512 KB
最大对象大小 6 GB
cache_replacement_policy 堆 LFUDA
range_offset_limit -1
quick_abort_min -1 KB

Gia*_*968 9

根据这个答案在这里服务器故障-and从采购这个线程官方Squid代理支持网站-themaximum_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
Run Code Online (Sandbox Code Playgroud)

对此:

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
Run Code Online (Sandbox Code Playgroud)

重新启动 Squid 代理,看看会发生什么。