本文测试的nginx版本为
nginx version: nginx/1.12.2Nginx 提供了 limit_rate 和limit_rate_after,举个例子来说明一下
在需要限速的站点 server 域中添加一下代码location / { limit_rate_after 500k; limit_rate 50k;}大概意思是:假如用户下载某个大文件,下载量达到 500k 后,便控制其速度在 50k 以内。
此控制是针对单个连接而言的。换言之,只能限制单个连接的带宽,不能限制总带宽。不过使用 limit_conn 模块的话,可以在一定程度上缓解问题在nginx.conf的 http 域中先添加以下代码limit_conn_zone $server_name zone=servers:10m;然后修改 server 域中代码server { location / { limit_conn servers 1000; limit_rate_after 500k; limit_rate 50k; }}通过 limit_conn 限制了并发连接数,于是也就限制了总带宽。