温馨提示×

debian apache怎么限流量

小樊
46
2026-10-27 00:14:14
栏目: 智能运维

在 Debian 上用 Apache 限制流量(带宽/速率),常见有 几种方案,从简单到专业依次如下:


一、用 Apache 自带模块 mod_ratelimit(最简单,推荐)

1. 启用模块

sudo a2enmod ratelimit
sudo systemctl restart apache2

2. 限制示例

限制整个站点

<VirtualHost *:80>
    ServerName example.com
    RLimitRate 100000   # 每秒 100KB(单位:字节/秒)
</VirtualHost>

限制某个目录

<Directory /var/www/html/download>
    RLimitRate 50000
</Directory>

限制某种文件

<FilesMatch "\.(zip|mp4|iso)$">
    RLimitRate 80000
</FilesMatch>

✅ 优点:简单、无需额外软件
❌ 缺点:只能限 总速率,不能按 IP 精细控制


二、用 mod_bandwidth(第三方,功能更强)

1. 安装

Debian 默认仓库可能没有,需要:

sudo apt install libapache2-mod-bandwidth

2. 启用

sudo a2enmod bandwidth
sudo systemctl restart apache2

3. 示例配置

<IfModule mod_bandwidth.c>
    BandWidthModule On
    BandWidth all 100000
    MaxConnection all 50
</IfModule>

可针对:

  • 每个 IP
  • 每个虚拟主机
  • 每种文件类型

✅ 比 mod_ratelimit 更细
❌ 配置稍复杂


三、用 iptables / tc(系统级限速,最精确)

适合 整个服务器出口限速 或 按 IP 限速

示例:限制单 IP 下载速度

sudo apt install iptables
tc qdisc add dev eth0 root tbf rate 1mbit burst 32kbit latency 400ms

或在 Apache 前加 Nginx 做限流更常见。


四、推荐方案总结

需求 推荐
简单限总带宽 mod_ratelimit
按 IP / 文件细限 mod_bandwidth
服务器整体限速 tc / iptables
高并发大流量 前置 Nginx

如果你能说明:

  • 是 限制总带宽 还是 单 IP
  • 是否只限 下载 / 上传
  • Apache 版本(Debian 11/12)

我可以给你 精确配置文件。

0 踩