比如由 lua 插件,或者后端节点调用一个接口,让 nginx 拒绝来自某 ip 的服务员,有现成插件吗?应用场景比如人工认定受到来自某 ip 的攻击。
原生支持屏蔽,但没有取出功能,不太合适,一旦加入除非手动取消否则就永远屏蔽了,不符合需求
原生支持屏蔽,但没有取出功能,不太合适,一旦加入除非手动取消否则就永远屏蔽了,不符合需求

1 ZeroClover Apr 20, 2021 ipset |
2 learningman ipset 可以设置 timeout 然后 fail2ban |
3 Livid MOD PRO https://github.com/openresty/lua-resty-memcached 把要屏蔽的 IP 写进 memcached,用 Lua 判断当前访问的 IP 有没有对应的 memcached key 。 需要注意的一个坑是,如果是 IPv6 地址的话,因为 Lua Resty 的某个转义机制,IPv6 地址里的 : 会被转义,这里需要注意一下。 |
4 ryd994 Apr 20, 2021 via Android 如果是不特定来源而且不需要特别复杂的逻辑的话,limit_req 可以提供基于 token bucket 的限制频率。可以设置 burst 。 token buket 空了自然就释放了 http://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_req |
5 zzzmh Apr 20, 2021 同有这个需求,目前在研究 openresty |
6 mentalidade Apr 20, 2021 kong 有那个插件,不过是存到 redis 里面的。简单的话,就 openresty 把写一个简单的 |
7 keelele Apr 21, 2021 可以自己添加 |
8 Alliot Jul 29, 2021 via Android fail2ban 也可以满足你这个需求吧 |
9 LeeReamond OP @Alliot f2b 一直没用明白,不知道怎么接入除了系统登录外其他的东西 |