运维之道 | Nginx限制对代理HTTP资源的访问

Nginx限制对代理HTTP资源的访问

一、限制连接数

1、使用limit_conn_zone指令定义密钥并设置共享内存区域的参数(工作进程将使用该区域共享密钥值的计数器)。作为第一个参数,指定评估为键的表达式。在第二个参数中zone,指定区域的名称及其大小:

limit_conn_zone  $ binary_remote_addr  zone = addr:10m ;

2、使用limit_conn指令的适用范围内的限制,或上下文。将共享内存区域的名称指定为第一个参数,并将每个键的允许连接数指定为第二个参数:location {}server {}http {}

location /download/ {
   
     limit_conn addr 1;
}

连接数受IP地址限制,因为该$binary_remote_addr变量用作键。


实战:
1、在发布目录中创建download目录,并写入数据
[root@localhost download]# ls
nginx.jpg
2、修改nginx.conf配置文件

方法1

http {
   
    #...

    limit_conn_zone $binary_remote_addr zone=addr:10m;

    server {
   
        #...

        location /download/ {
   
  		   limit_conn addr 1;
        }
    }
}

方法2

http {
   
    limit_conn_zone $server_name zone=servers:10m;

    server {
   
        limit_conn servers 1000;
    }
}
3、通过Apache Benchmark(ab) 压力测试工具进行测试
  • 设置1个并发连接,10次请求(成功)
[root@localhost conf]# ab -c 1 -n 10 http://192.168.146.133/download
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值