温馨提示×

ubuntu apache2怎么限速

小樊
42
2026-09-14 09:14:19
栏目: 智能运维

在 Ubuntu 上使用 Apache2 进行限速,常见做法有几种,按「简单 → 灵活」排序如下:


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

1. 启用模块

sudo a2enmod ratelimit
sudo systemctl restart apache2

2. 配置限速

编辑站点配置(如 /etc/apache2/sites-available/000-default.conf):

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/html

    <Location />
        SetOutputFilter RATE_LIMIT
        SetEnv rate-limit 100
    </Location>
</VirtualHost>

说明:

  • rate-limit 100 表示 每秒最多 100KB
  • 单位:KB/s

也可以按目录或文件类型限速:

<Directory "/var/www/html/download">
    SetOutputFilter RATE_LIMIT
    SetEnv rate-limit 50
</Directory>

<FilesMatch "\.(mp4|zip)$">
    SetOutputFilter RATE_LIMIT
    SetEnv rate-limit 200
</FilesMatch>

二、使用 mod_bw(更老但可控性强)

1. 安装模块

Ubuntu 默认仓库有:

sudo apt install libapache2-mod-bw
sudo a2enmod bw
sudo systemctl restart apache2

2. 示例配置

<VirtualHost *:80>
    BandwidthModule On
    ForceBandwidthModule On
    Bandwidth all 102400
    MinBandwidth all 102400
</VirtualHost>

说明:

  • 102400 = 100KB/s
  • 可针对 IP、目录、文件类型限速

三、使用系统层限速(Apache 不负责)

如果你是想 全局限速(包括 FTP、SSH 等):

  • tc (traffic control)
  • wonder shaper
  • nginx + limit_rate

但 Apache 本身不推荐这么做


四、常见坑提醒

✅ mod_ratelimit 只对 响应输出有效(下载限速)
❌ 不能限制上传
❌ 不支持按 IP 精确限速(需 mod_bw 或 nginx)


五、推荐方案

需求 推荐
简单下载限速 mod_ratelimit
精细控制 mod_bw
高并发 + 强限速 换 Nginx

如果你能说一下:

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

我可以给你一份 可直接用的配置。

0 踩