在 Debian 上通过 Apache 实现限速,常见有几种方式,从简单到灵活依次如下:
mod_ratelimit(Apache 2.4+,Debian 默认支持)适合限制下载/响应速度。
sudo a2enmod ratelimit
sudo systemctl restart apache2
在虚拟主机或目录配置中:
<Location /downloads>
SetOutputFilter RATE_LIMIT
SetEnv rate-limit 100
</Location>
单位:
rate-limit:KB/srate-limit 50、rate-limit 500✅ 优点:简单、稳定
❌ 缺点:不能限制并发数、只限制输出
mod_reqtimeout + mod_status(基础)sudo a2enmod reqtimeout
RequestReadTimeout header=10-20,MinRate=500
mod_evasive(防 CC / 简单限速)适合请求频率限制。
sudo apt install libapache2-mod-evasive
sudo a2enmod evasive
配置 /etc/apache2/mods-enabled/evasive.conf:
DOSHashTableSize 3097
DOSPageCount 10
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 60
✅ 防刷效果好
❌ 不是严格“带宽限速”
mod_bw(经典限速模块)Debian 官方源已不推荐,但可用
sudo apt install libapache2-mod-bw
sudo a2enmod bw
示例:
<Directory /var/www/html>
BandwidthModule On
ForceBandWidthModule On
Bandwidth all 102400
MinBandwidth all 10240
</Directory>
单位:字节/秒
如果目标是整体带宽控制,更推荐:
tc(流量控制)nginx + limit_rateApache 本身限速能力有限。
| 场景 | 推荐 |
|---|---|
| 下载限速 | mod_ratelimit |
| 防刷 | mod_evasive |
| 并发限制 | mod_reqtimeout |
| 精确带宽 | 系统 tc |
如果你能说明:
我可以给你一份可直接用的配置。