NGINX每秒计数请求数

jim*_*mbo 5 c nginx

我正在为NGINX开发一个反应用层攻击模块,我必须每秒计算一次请求(每秒).这个想法是制作一个攻击自动检测器,当请求率增加时,它会打开过滤.

此时,这是在shell脚本的帮助下进行的,该脚本每秒读取访问日志并计算请求率.问题是这不是很有效.

如果您对如何实现这一点有所了解,请分享您的想法.

谢谢!

小智 1

您可以使用 HttpLimitReqModule:

http {
limit_req_zone  $binary_remote_addr  zone=one:10m   rate=1r/s;

...

server {

    ...

    location /search/ {
        limit_req   zone=one  burst=5;
    }
Run Code Online (Sandbox Code Playgroud)

参考: http: //wiki.nginx.org/HttpLimitReqModule