大错社区

 找回密码
 免费注册

QQ登录

只需一步,快速开始

[Nginx] nginx限制每个ip访问的频率和并发量

[复制链接]
admin 发表于 2018-5-8 17:58:12 | 显示全部楼层 |阅读模式
1.nginx 限制每个ip的访问频率,需要limit_req_zone和limit_req配合使用
  在http中定义limit_req_zone:
  limit_req_zone $binary_remote_addr zone=promote_req_limit:50m rate=3r/s;
  解释:$binary_remote_addr是替代 $remore_addr 的变量, 可认为是远程ip, zone=promote_req_limit定义了名称为 promote_req_limit的zong    50m为会话状态储存的空间,rate=3r/s; 表示定义的请求频率为每秒3次请求

  在server中引用limit_req:
  limit_req   zone=promote_req_limit  burst=2 nodelay;
  解释:burst=5:表示允许超过限制的请求数不多于5个,nodelay:超过的请求不会被延迟处理,直接返回503

2.nginx限制每个ip的并发请求,需要limit_conn_zone和limit_conn配合使用
  在http中定义limit_conn_zone:
  limit_conn_zone $binary_remote_addr zone=promote_con_limit:50m;#解释:容器共使用50M的内存来对于IP传输开销
  limit_conn_zone $server_name zone=perserver:10m;#容器共使用10兆的内存对servername进行处理

  在server中引用limit_conn:
  limit_conn promote_con_limit 3;#解释:同一 IP 同一时间只允许有3个连接
  limit_conn perserver 100;#解释:同一servername 同一时间只允许有100个连接
wu8881122 发表于 2018-7-1 15:25:37 | 显示全部楼层
学习了 谢了
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

QQ|Archiver|手机版|小黑屋|大错网络

GMT+8, 2019-5-20 20:41 , Processed in 0.057227 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表