森林玫瑰 發表於 2023-7-29 00:00:00

nginx nginx_limit_speed_module限制总带宽

<p>在前面我们说到了《nginx限制连接数》和《nginx限制请求数》<br>
这里介绍下nginx_limit_speed_module模块如何对location总带宽和每个IP速度的限制。<br>
nginx_limit_speed_module项目地址:https://github.com/yaoweibin/nginx_limit_speed_module</p>
<p>1. 介绍<br>
该模块能够限制从一个地址同时连接的总速度。</p>
<p>2. 指令介绍<br>
limit_speed_zone<br>
语法:limit_speed_zone zone_name $variable memory_max_size<br>
默认值:no<br>
配置段:http<br>
定义会话状态存储空间。会话的数目由所分配的变量$variable决定,该值取决于memory_max_size值。</p>
<p>如:limit_speed_zone one $binary_remote_addr 10m;<br>
客户端的地址被用作会话。注意:该变量$binary_remote_addr是用来代替$remote_addr。<br>
$remote_addr变量值的长度是7到15个字节。因此状态大小等于32或64字节。<br>
$binary_remote_addr变量值的长度总是4个字节,因此状态大小始终是32字节。<br>
1M共享空间可以处理3.2万个会话,每个会话32字节。</p>
<p>limit_speed<br>
语法:limit_speed zone_name max_speed<br>
默认值:no<br>
配置段:http,server,location<br>
该指令指定同一个IP的最大速度。<br>
例如:如果限制每个IP地址的最大速度为100KB,同时同一个IP有10个并发连接,那么每个连接的速度为10KB。</p>
<p>3. 安装方法<br>
# ./configure –prefix=/usr/local/nginx –-add-module=./nginx_limit_speed_module-master<br>
# make<br>
# make install</p>
<p>4. 实例</p><pre class="brush:bash;toolbar:false">http {
    limit_speed_zone   www_ttlsa_com$binary_remote_addr10m;

    server {
      location /download/ {
            limit_speed   www_ttlsa_com100k;
      }
    }
}</pre><p></p>
頁: [1]
查看完整版本: nginx nginx_limit_speed_module限制总带宽