![限制 Squid 中的下载限制](https://linux22.com/image/531167/%E9%99%90%E5%88%B6%20Squid%20%E4%B8%AD%E7%9A%84%E4%B8%8B%E8%BD%BD%E9%99%90%E5%88%B6.png)
我想限制 Squid 代理的下载限制,所以我在 squid.conf 中添加了以下两行。
acl officelan dst 192.168.1.0/24
reply_body_max_size 30000000 拒绝 officelan
现在,我想允许某些/特定 IP 下载超过 30MB 的限制,因此我将另一个 acl 包含为 alowedip,并包含以下几行,但这不起作用。
acl 允许 IP 目标 192.168.1.81
reply_body_max_size 0 允许allowedip
如何允许 acl allowedip 无限制下载?
温暖的问候
苏普拉提克
答案1
Squid 按照 conf 文件中从上到下的写入顺序检查匹配项。
确保
reply_body_max_size 0 allow allowedip
是在
reply_body_max_size 30000000 allow officelan
如果你正在使用新版(>v3)的 squid,那么就不需要允许和拒绝,例如
reply_body_max_size 0 allowedip
reply_body_max_size 30000000 officelan
编辑
使用 centos 5.5 和 squid 2.6.STABLE21 两台机器在与代理相同的网络上进行测试。以下是我的 squid.conf 中的相关条目
acl t1 src 192.168.254.200
acl t2 src 192.168.254.0/24
http_access allow t1
http_access allow t2
reply_body_max_size 0 allow t1
reply_body_max_size 100000 allow t2
这按预期工作 - 减少第二条语句中的字节大小(并重新启动 squid)最终导致 squid 拒绝传输。
答案2
只需重新排列 reply_body_max_size 行即可。Squid 按顺序检查它们。
这是来自 squid 配置文件:
When the reply headers are received,
the reply_body_max_size lines are processed, and the first line with
a result of "allow" is used as the maximum body size for this reply.