Nginx 流速限制

我用 nginx 做了一个简单的文件下载,分享一些会议的 ppt 给朋友下载。但是我又担心小水管不小心被拖死,总不能对每一个朋友说“你限制一下你的下载速度”吧。

这篇文章做个简单记录。

http {

    limit_conn_zone $binary_remote_addr zone=perip:2m;

    server
    {
      listen 443 ssl;
      server_name d.kelu.org;

      ... ...

      limit_conn perip 5;
      limit_rate 250k;
      limit_rate_after 10240K;
      autoindex on;
      autoindex_localtime on;
      autoindex_exact_size off;
    }

}
  1. $binary_remote_addr IP地址。这里配置的是IP,也可以使用如 $server_name 作为KEY来限制域名级别的最大连接数。

  2. zone=perip:2m 设置zone为perip,每个ip缓冲区为2m。

  3. limit_conn perip 5 一个 IP 最多同时有5个连接。缓存区的大小为2m。

  4. limit_rate 250k;

    ​ 速率最大为250k/s。

  5. limit_rate_after 10240K

    ​ 忽略最初的流量。

参考资料


Linux下的 /dev/shm selenium 裸安装备忘