温馨提示×

Apache2 Ubuntu如何限速

小樊
47
2026-10-08 03:19:24
栏目: 智能运维

在 Ubuntu + Apache2 环境下,常见的限速方式有以下几种,按使用频率和推荐程度排序:


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

1. 启用模块

sudo a2enmod ratelimit
sudo systemctl restart apache2

2. 配置限速

在虚拟主机或目录配置中(如 /etc/apache2/sites-available/000-default.conf):

<Directory /var/www/html>
    SetOutputFilter RATE_LIMIT
    SetEnv rate-limit 100
</Directory>

说明:

  • rate-limit 100 表示 每秒最多 100 KB
  • 只限制 下载(响应)速度,不限制上传

也可以针对某个 URL:

<Location /download>
    SetOutputFilter RATE_LIMIT
    SetEnv rate-limit 50
</Location>

二、使用 mod_bw(第三方带宽限制模块)

适合更细粒度控制(按 IP、文件类型等)。

1. 安装

Ubuntu 默认仓库可能没有,可用:

sudo apt install libapache2-mod-bw

启用:

sudo a2enmod bw
sudo systemctl restart apache2

2. 示例配置

<Directory /var/www/html>
    BandwidthModule On
    ForceBandWidthModule On
    Bandwidth all 500000
    MinBandwidth all 50000
</Directory>

说明:

  • 单位:字节/秒
  • 可针对 IP、User-Agent、文件类型限速

三、使用 mod_qos(高级限流 / 防刷)

适合:

  • 限制并发连接
  • 防止单 IP 占用过多资源
sudo apt install libapache2-mod-qos
sudo a2enmod qos

示例:

QS_LocRequestLimitMatch .* 50
QS_EventLimitCount 100

四、系统层限速(不推荐但可用)

如果 Apache 无法满足需求,可用 tc / nginx / 反向代理方式限速。


推荐方案总结

需求 推荐方式
简单下载限速 mod_ratelimit
精细带宽控制 mod_bw
防刷 / 并发控制 mod_qos
全局网络限速 tc

如果你能说明:

  • 是 上传还是下载限速
  • 是否按 IP / 目录 / 文件类型
  • Apache 版本(apache2 -v)

我可以给你一份精准配置示例。

0 踩