在平时工作中,我们为了一些软件文档方便查看通常会搭建一些目录服务(类似yum源),为控制下载速度和下载总数,我们可以利用nginx的ngx_http_limit_conn_module模块。
首先在http段添加如下配置:
limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_conn_zone $server_name zone=perserver:10m;
在对应的location中添加如下配置,虽然这个模块作用域可以是http,server,location,但是为了不影响其他的服务,只针对下载服务,因此在location中添加:
location /down {
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
limit_conn perip 1;
limit_conn perserver 100;
limit_conn_status 505;
limit_rate_after 500k;
limit_rate 100k;
root html;
}
同时为了页面友好,在server中定义下505的指定页面:
error_page 555 /hello;
保存配置,重启nginx。
转载于:https://blog.51cto.com/yaoyf/1769770