在 Ubuntu 上通过 Apache2 实现限速,常见做法有以下几种,按使用频率和推荐程度说明:
mod_ratelimit(Apache 自带,推荐)sudo a2enmod ratelimit
sudo systemctl restart apache2
在虚拟主机或目录配置中加:
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/html
<Location />
SetOutputFilter RATE_LIMIT
SetEnv rate-limit 100
</Location>
</VirtualHost>
说明:
rate-limit 100 → 每秒 100 KB示例(限制为 500KB/s):
SetEnv rate-limit 500
mod_reqtimeout + mod_status(辅助)更常用的是 限制并发连接:
sudo a2enmod reqtimeout
RequestReadTimeout header=10-20,MinRate=500
mod_evasive(防 CC / 限速 IP)适合防止单 IP 疯狂请求:
sudo apt install libapache2-mod-evasive
sudo a2enmod evasive
配置示例:
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 10
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 60
</IfModule>
含义:
mod_bw(更精细限速,需第三方)sudo apt install libapache2-mod-bw
sudo a2enmod bw
示例:
BandWidthModule On
ForceBandWidthModule On
BandWidth all 102400
如 tc、wondershaper(影响所有服务)
| 需求 | 方案 |
|---|---|
| 下载限速 | mod_ratelimit ✅ |
| 防刷 IP | mod_evasive |
| 精细控制 | mod_bw |
| 全服限速 | 系统 tc |
如果你愿意,可以告诉我:
我可以直接给你完整配置。