5

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

目前,这是在 shell 脚本的帮助下发生的,该脚本每秒读取访问日志并计算请求率。问题是这不是很有效。

如果您对如何实现这一目标有任何想法,请分享您的想法。

谢谢!

4

2 回答 2

1

您可以使用 HttpLimitReqModule:

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

...

server {

    ...

    location /search/ {
        limit_req   zone=one  burst=5;
    }

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

于 2012-06-21T08:40:33.363 回答
-1

tail -f -s在 access_log 上使用。这很有效。

于 2012-06-21T18:04:59.970 回答