在 CentOS 上(注意:CentOS 默认是 httpd,不是 apache2,apache2 是 Debian/Ubuntu 的叫法),如果你说的是 Apache 限速,常见有几种做法。下面按「实用程度」给你讲。
Apache 自带模块,适合限制下载/响应速度。
httpd -M | grep ratelimit
如果没有,启用:
yum install mod_ratelimit
# 一般已内置
编辑配置(推荐新建文件):
vi /etc/httpd/conf.d/ratelimit.conf
示例(限制为 100KB/s):
<IfModule mod_ratelimit.c>
<Location /download>
SetOutputFilter RATE_LIMIT
SetEnv rate-limit 100
</Location>
</IfModule>
说明:
rate-limit 100 → 100 KB/ssystemctl restart httpd
✅ 适合:下载站、大文件限速
yum install mod_bw
<IfModule mod_bw.c>
BandWidthModule On
ForceBandWidthModule On
BandWidth all 102400 # 100KB/s
MinBandWidth all 10240 # 最小10KB/s
</IfModule>
可针对 IP、目录、文件类型限速。
适合:
示例(限制某 IP 速度):
tc qdisc add dev eth0 root tbf rate 1mbit burst 32kbit latency 400ms
⚠️ 复杂、易出错,一般不建议只为了 Apache 限速。
如果你后面挂了 Nginx:
limit_rate 100k;
| 需求 | 方案 |
|---|---|
| 简单下载限速 | ✅ mod_ratelimit |
| 复杂规则 | mod_bw |
| 全局限制 | iptables/tc |
| 反向代理 | Nginx |
如果你能说清楚:
我可以给你精确配置文件。