Nginx并发数、每秒连接数、下载速度限制,防攻击杀手锏

本文链接:https://blog.csdn.net/slovyz/article/details/54583882

1.限制IP访问频率:

HttpLimitZoneModule 限制并发连接数实例

limit_zone只能定义在http作用域,limit_conn可以定义在http server location作用域

limit_conn_zone $binary_remote_addr zone=conn:10m;

  • 定义一个名为conn的limit_conn_zone用来存储session,大小是10M内存,1M能存储16000个状态;
  • $binary_remote_addr是限制同一客户端ip地址;
  • $server_name是限制同一server最大并发数;

limit_req_zone $binary_remote_addr zone=allips:10m rate=20r/s;

  • 定义一个名为allips的limit_req_zone用来存储session,大小是10M内存,1M能存储16000个状态;
  • $binary_remote_addr为key,限制平均每秒的请求为20个;
  • rate的值必须为整数,如果限制两秒钟一个请求,可以设置成30r/m
server{location {#limit_conn为限制并发连接数;limit_conn conn 20;                                                                                #limit_rate为限制下载速度;limit_rate 500k;#限制每ip每秒不超过20个请求,漏桶数burst为5,brust的意思是,如果第1秒、2,3,4秒请求为19个,第5秒的请求为25个是被允许的。但是如果你第1秒就25个请求,第2秒超过20的请求返回503错误。nodelay,如果不设置该选项,严格使用平均速率限制请求数,第1秒25个请求时,5个请求放到第2秒执行,设置nodelay,25个请求将在第1秒执行。limit_req zone=allips burst=5 nodelay; }
}

2.限制user_agent

屏蔽httpclient请求过来的示例:

   if ($http_user_agent ~*(Apache-HttpClient)) {return 403;}

3.禁止非法抓取

    #禁止Scrapy等工具的抓取if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {return 403;}#禁止指定UA及UA为空的访问if ($http_user_agent ~ "FeedDemon|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|YisouSpider|HttpClient|MJ12bot|heritrix|EasouSpider|LinkpadBot|Ezooms|^$" ) {return 403;}#禁止非GET|HEAD|POST方式的抓取if ($request_method !~ ^(GET|HEAD|POST)$) {return 403;}

4.紧急情况封IP

deny
语法:     deny address | CIDR |unix: | all;
默认值:     —
配置段:     http, server, location,limit_except

禁止某个ip或者一个ip段访问.如果指定unix:,那将禁止socket的访问.注意:unix在1.5.1中新加入的功能,如果你的版本比这个低,请不要使用这个方法。

location/ { deny  192.168.1.1;        #封192.168.1.1allow 192.168.1.0/24;     #封192.168.1.0-192.168.1.255deny  all;                #封所有IP
}

Nginx并发数、每秒连接数、下载速度限制,防攻击杀手锏相关推荐

  1. Nginx防攻击杀手锏

    1.限制IP访问频率: HttpLimitZoneModule 限制并发连接数实例 limit_zone只能定义在http作用域,limit_conn可以定义在http server location ...

  2. 测试nignx php请求并发数,nginx 优化(突破十万并发)

    一般来说nginx 配置文件中对优化比较有作用的为以下几项: worker_processes 8; nginx 进程数,建议按照cpu 数目来指定,一般为它的倍数.worker_cpu_affini ...

  3. 测试nignx php请求并发数,Nginx 高级篇(八)ab 压力测试即 nginx 的性能统计模块...

    我们总得要对自己的网站或者接口做压力测试的,总不能写好了代码不做测试就上线啊,谁知道你的网站或者接口能承受多少的并发和访问量,压力测试我们可以使用apache的ab小工具来搞或者使用github上提供 ...

  4. netstat--查看服务器[有效]连接数--统计端口并发数--access.log分析

    简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Member ...

  5. 利用apache限制IP并发数和下载流量控制

    一,为什么要对IP并发数,下载流量进行控制 说正题之前,先给大家讲个故事,那是在2007年,我进了一家公司,当时我们正在给达芙妮做电子商务网,www.idaphne.com.从三月份开始做的吧,九月份 ...

  6. 【mysql】Mysql查看连接数(连接总数、活跃数、最大并发数)

    1 2 show variables like '%max_connection%'; 查看最大连接数 set global max_connections=1000;        重新设置最大连接 ...

  7. Mysql 查看连接数,状态 最大并发数 怎么设置才合理

    show status like '%max_connections%'; ##mysql最大连接数 set global max_connections=1000 ##重新设置 show varia ...

  8. 置springboot自带tomcat的最大连接数和最大并发数

    设置springboot自带tomcat的最大连接数和最大并发数 从源代码来看,最大连接数和最大并发数默认是10000和200 可以通过工程下的application.yml配置文件来改变这个值 se ...

  9. app每秒并发数_性能测试连载 (38) jmeter 线程数与性能测试的负载模式

    点击跳转>>jmeter--由浅入深学性能系列 需求 下面有3个场景,思考一下在jmeter里面如何设计 场景1:有一个项目,500用户同时登录,响应时间能达到多少场景2:考勤打卡,最大吞 ...

最新文章

  1. 使用SAT跟踪监控从浏览器打开的SAP应用的性能和调用栈
  2. python求组合数c_科学网—Python 组合函数 C(n,m) - 杨玠的博文
  3. android 将图片路径转二进制,将图像转换为二进制图像中的android
  4. python截取指定字符串_python 正则匹配获取指定多个词的在字符串(句子/段落)索引位置...
  5. JspWriter 与 printwriter区别
  6. js/bat批处理调用谷歌浏览器chrome批量打开网页测试web性能
  7. 返回高于平均分的人数,并将高于平均分的分数存放到另外一个数组中
  8. CentOS7下安装配置Tomcat环境
  9. springboot 集成 jwt+oauth+springsecurity 实现单点登录,feign远程调用,eruka注册中心,seata分布式事务配置
  10. 手输Unicode字符的方法
  11. Anti-alias的前世今生-常用反走样算法总结
  12. python Excel xlsx file; not supported
  13. android 仿ios数字密码解锁界面
  14. 基因组代谢网络(GEMS)与全基因组模型从入门到实践系列-----(1)模型构建环境的布置
  15. python小工具—图片转为字符txt
  16. 这应该是最全面的MySQL知识点总结啦
  17. Pytest如何并发执行自动化脚本
  18. vscode连接电脑虚拟机上的ubuntu
  19. AS608光学指纹模组编程和应用详解
  20. 西北乱跑娃 --- 易语言大文件读取

热门文章

  1. DataGrid 导出到 Excel 的帮助类
  2. 设计师必读的15个响应式网页设计教程
  3. 常用JavaScript函数 59 - 70(自我总结)
  4. 【jq插件】Grade-打分效果
  5. python多任务笔记
  6. 如何用Pygame写游戏(四)
  7. 华为机试——合并表记录
  8. MySQL—用户和权限管控
  9. Java—接口(工厂模式代理模式)
  10. jquery-样式修改-位置的方法-标签的宽高数据