Apache - 如何限制文件的最大下载速度?(如果不是Apache,我可以运行lighthttpd)

5
我有一堆视频,但我只想将这些文件的最大下载速度限制在1mbps。 我该如何设置(最好在Apache中,但lighthttpd也是一个选项)。
谢谢。
2个回答

4
如果你只想限制每个连接的下载速度,而不考虑管理总量或执行更细粒度的控制,则处理此问题的最佳方式是使用Apache自己的mod_ratelimit
以下示例将/files目录下的所有内容限制为1Mbit/s...
<Location /files>
    SetOutputFilter RATE_LIMIT
    SetEnv rate-limit 1000
</Location>

我研究并尝试了其他方法和模块,在这种特定情况下,mod_ratelimit是最简单的方法。

下载Apache 2.4的速度限制和节流


1
实际上,这个例子限制在1兆字节/秒。 - Julien V

2
你可以尝试使用mod_bandwidth或更高级的mod_cband
看起来mod_cband的原始网站已经下线。GitHub用户“maiha”在mod_cband上建立了一个档案备份。
mad_bandwidth网站的引用:

Mod_bandwidth是Apache Web服务器的模块,可根据目录、文件大小和远程IP/域,设置服务器范围或每个连接的带宽限制。

mod_cband网站的引用:

mod_cband是提供给Apache 2的模块,用于解决限制用户和虚拟主机带宽使用的问题。当前版本可以设置虚拟主机和用户的带宽配额、最大下载速度(与mod_bandwidth相同)、每秒请求数和最大同时IP连接数(与mod_limitipconn相同)。

这里有一个关于如何使用cband限制下载速度的教程

谢谢,我会研究一下。你知道是否有基于每个连接的设置吗?(我不想限制整个虚拟主机条目或用户的最大下载速度,只是网站上的访问者(每个人都有自己的1mbps限制)) - user1190646
如何区分连接以仅限制其中一些并不明显。另一个解决方案是:您可以在单独的端口下托管带宽受限版本,并使用网站代码从主网站重定向到带宽受限版本,如果用户的限制为1mbps。 - bhovhannes
cband有漏洞。过度限制了我的服务器,使其减速了5到6倍。 - Ray S.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接