最大连接数量Squid

我有一个Squid代理服务器,控制我的networking的所有互联网stream量。

我需要一种方法来阻止用户在我的networking中下载大文件(比如> 50MB)。 我禁止了一些着名的端口(例如洪stream),但一些下载是可能的HTTP端口。 显然我不能禁止80港!

一个简单的解决scheme是限制每个IP的同时连接的最大数量(例如3个连接)。 这是可能的在这个configuration鱿鱼

acl ACCOUNTSDEPT 192.168.5.0/24 acl limitusercon maxconn 3 http_access deny ACCOUNTSDEPT limitusercon 

但是这个解决scheme对于网页浏览的效果确实不错,因为任何智能浏览器都可以通过多个连接同时获得网站的不同部分,以加速网页浏览。 但是,如果我们有最大数量的连接,浏览器将无法获得一些部分,网站将部分显示,部分/图像/框架将不会显示。

那么,我们可以限制持续连接的最大数量吗? 我认为这个策略将起作用: 指定10秒内活动的最大连接数每个IP的同时连接数是无限的

但是如何在Squid时实施这个策略呢? 用哪个configuration?

更新:

artifexTom Newton提供了使用带宽限制的方法来打击下载。

但是squid中的带宽限制有一个缺点:它是静态的,不能dynamic改变。 所以一个人有一个有限的带宽,不pipe有多less人使用互联网(也许没有人)!

此外,这个解决scheme不能阻止人们下载。 他们仍然可以下载,但速度较慢。

但是,如果我们find一种方法来终止持久性连接(或任何超过特定时间的连接),下载大文件将几乎不可能(总是有某种方法!)

这不会解决问题的方式,你的目的。 但是,以不同的方式,将每个主机限制到某个带宽(不是每个请求,而是每个主机)

来自http://wiki.squid-cache.org/Features/DelayPools的例子

 acl only128kusers src 192.168.1.0/24 delay_pools 1 delay_class 1 3 delay_access 1 allow only128kusers delay_access 1 deny all delay_parameters 1 64000/64000 -1/-1 16000/64000 

这指定所有客户端有512kbits共享,但一个IP只能使用128kbits。

注意上面的delay_parameters的值是BYTES而不是BITS。

你有没有尝试过: reply_body_max_size ?

从文档听起来就像你在问什么:

此选项指定回复主体的最大大小。 它可以用来阻止用户下载超大文件,如MP3和电影。

Ergo,请尝试添加以下内容到squid.conf:

reply_body_max_size 50 MB