? 简单的Nginx防CC攻击方式

简单的Nginx防CC攻击方式

<返回列表

简单的Nginx防CC方式

实验

Nginx配置

http { ? ?limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; ? ?server { ? ? ? ?#限制每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=one  burst=1 nodelay; ? ?}}

上面样本的配置是什么意思呢?

$binary_remote_addr 表示:客户端IP地址

zone 表示漏桶的名字

rate 表示nginx处理请求的速度有多快

burst 表示峰值

nodelay 表示是否延迟处理请求,还是直接503返回给客户端,如果超出rate设置的情况下。

详细的可以参考官方说明文档:Module ngx_http_limit_req_module(http://nginx.org/en/docs/http/ngx_http_limit_req_module.html)

模拟请求

这里我们需要Apache Benchmark这个小工具来生成请求

//1个用户持续100s的时间向服务器发送请求ab -t 100 -c 1 -vvv http://example.com/

Nginx配置样本一

http { ? ?limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; ? ?server { ? ? ? ?limit_req ? zone=one  burst=1 nodelay; ? ?}}

ab测试结果如下所示:

数据成功的请求数失败的请求数请求时间每秒成功的请求数110019438101.1950.98210017651100.6550.9939725735100.4240.96410126791100.0001.0159819051100.5140.98平均9921733.2100.5570.98
国内免备案VPS301跳转服务器国内免备案服务器域名被墙跳转301,绕过信息安全中心不能放违反法律法规内容!(北京免备案??镇江免备案?江苏免备案?辽宁免备案vps?山东联通免备案)?
分享新闻到:

更多帮助

关于网站备案的常见问题

新闻中心 2025-01-11
网站备案是加强和规范互联网网站管理推动互联网健康发展的重要举措 1、什么是网站备案? 网站备案是指根据国家法律法规需要网站的开办者向国家有关部门申请的备案 具体···
查看全文

一个国际网站需要多少个海外服务器来搭建运营

新闻中心 2025-01-10
一个国际网站需要多少个海外服务器来搭建运营?这个问题不是很好回答,因为影响国际网站所需海外服务器数量的原因众多,不能一概而论。 一、国际网站所需海外服务器数量可···
查看全文

域名被墙和域名DNS污染的区别是什么?

新闻中心 2025-01-10
域名被墙是什么? 域名被墙是指被(Great Firewall以下简称GFW)也称中国防火墙或中国国家防火墙屏蔽的域名。域名之所以会被墙,可能是域名下的网站非法···
查看全文
返回更多帮助