nginx配置limit_conn_zone来限制并发连接数以及下载带宽
模块是内置的,不需要单独安装 1、在nginx.conf里的http{}里加上如下代码: #ip limit limit_conn_zone $binary_remote_addr zone=perip:10m; limit_conn_zone $server_name zone=perserver:10m; 2、在需要限制并发数和下载带宽的网站配置server{}里加上如下代码: limit_conn perip 2; limit_conn perserver 20; limit_rate 100k; 补充说明下参数: $binary_remote_addr是限制同一客户端ip地址建立的连接数; $server_name是限制同一server最大并发数; limit_conn为限制并发连接数; limit_rate为限制下载速度; 限制连接数: 要限制连接,必须先有一个容器对连接进行计数,在http段加入如下代码: "zone=" 给它一个名字,可以随便叫,这个名字要跟下面的 limit_conn 一致 $binary_remote_addr = 用二进制来储存客户端的地址,1m 可以储存 32000 个并发会话 如下配置 http { limit_conn_zone $binary_remote_addr zone=addr:10m; #接下来需要对server不同的位置(location段)进行限速,比如限制每个IP并发连接数为1,则如下 server { listen 80; server_name 192.168.11.128; index index.html index.htm index.php; limit_conn addr 1; #是限制每个IP只能发起1个连接 (addr 要跟 limit_conn_zone 的变量对应) limit_rate 100k; #限速为 100KB/秒 root html; } } 注意事项: limit_rate 100k; //是对每个连接限速100k。这里是对连接限速,而不是对IP限速!如果一个IP允许两个并发连接,那么这个IP就是限速limit_rate * 2
<< 上一篇
下一篇 >>
网友留言(0 条)