(1)nginx请求限制

ngx_http_limit_req_module:开启对单个ip丶单个会话在单位时间内请求的限制rate表示限制的速率

1.修改nginx配置文件

#vim /usr/local/nginx/conf/nginx.conf
http {
limit_req_zone $binary_remote_addr zone=req_zone:10m rate=1r/s; //1r/s表示一秒之内最多1次请求,也可以用5r/m,表示一分钟之内最多5次请求。
server {
location / {
limit_req zone=req_zone; //调用上面的请求限制;1r/s只接收单个ip1个请求,其余请求拒绝处理并返回错误码给客户端
#limit_req zone=req_zone burst=3 nodelay; //请求超过1r/s,剩下的将被延迟处理,请求数超过burst定义的数量,多余的请求返回503
}
}
}
#nginx -t
#nginx -s reload



2.压力测试

#yum install httpd-tools -y
#ab -n 50 -c 20 http://192.168.1.31/index.html



总共发起了50个请求,失败了49个请求;

(2)nginx tcp会话连接请求

ngx_http_limit_conn_module:开启对单个ip、单个会话同时存在的连接数的限制

1.修改nginx配置文件

#vim /usr/local/nginx/conf/nginx.conf
http {
limit_conn_zone $binary_remote_addr zone=conn_zone:10m; //同一个时刻只允许一个客户端ip连接
server {
location {
limit_conn conn_zone 1; //同一时刻只允许一个客户端ip一个tcp会话
}
}
}

2.压力测试

#yum install httpd-tools -y
#ab -n 50 -c 20 http://192.168.1.31/index.html



50个请求都成功了,说明50个请求都是用1个tcp连接

注意:单个ip发起多个请求可以使用1个tcp会话连接,所以说请求限制比tcp的会话限制精准

(3)下载速率限制

limit_rate:开启nginx限速功能,可配置在http、server、location和if in location配置段。 limit_rate 500k表示限速500kB每秒,限速对象是单个连接,因此如果一个IP有多个连接的话,每个连接都是限速500k。

#vim /usr/local/nginx/conf/nginx.conf
http {
server {
location {
limit_rate 500k; //只能对单个ip单个连接做限制,限制500k
}
}
}
#nginx -t
#nginx -s reload

最新文章

  1. Android ViewPager 用法
  2. 【UOJ】【UR #2】猪猪侠再战括号序列(splay/贪心)
  3. iBatis面试题
  4. 使用buildroot编译bind DNS服务器
  5. 浅说Java中的反射机制(一)
  6. 《OD学hive》第六周20160731
  7. BZOJ 1003 物流运输
  8. P2P直播、点播技术学习经验
  9. Linux vsftpd 无法登录 cannot change directory:xxx priv_sock_get_cmd 问题
  10. 生成HFile文件后倒入数据出现Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.filter.Filter
  11. Effective JavaScript :第四章
  12. Java JVM 多态(动态绑定)
  13. 手把手图文教你从Eclipse项目迁移Android Studio
  14. Java——IO系统概览
  15. vue实现实时监听文本框内容的变化(最后一种为原生js)
  16. go基础之数组和切片
  17. tfs项目管理
  18. Ubuntu 18 + Redis安装
  19. ping命令返回的TTL值判断操作系统
  20. Scala进阶之路-Spark底层通信小案例

热门文章

  1. HDU 1950 LIS(nlogn)
  2. SqlServer中循环和条件语句示例!
  3. matlab向量的排序(自写函数)
  4. [C#] 类型学习笔记三:自定义值类型
  5. [LeetCode] 8. String to Integer (atoi) ☆
  6. java加载驱动
  7. vijos 1081 野生动物园 函数式线段树
  8. 省队集训 Day6 序列
  9. HDU - 5327 Olympiad(一维前缀和)
  10. TensorFlow非线性拟合