我基于openresty通过lua实现了一些自动封禁,其中有一个lua shared_dict用于统计被封禁的次数,定期会从该shared_dict取出数据写入数据库中。
为了防止slow header攻击,我将nginx配置中的client_header_timeout设置的比较小,测试中确实对这类攻击有一定的防御效果。
但是现在,因为client_header_timeout超时而被拒绝的请求,不会进行到lua代码的执行阶段,所以封禁次数的统计会有缺失。
所以我想有是否可以直接在nginx/src/http/ngx_http_request.c中直接对共享内存字典做incr操作?
谢谢。