前端实时检测一些异常访问 IP,然后通过 nginx 来阻止这些 ip 访问, blocked_IPs 通过什么方式存储比较好?

2020-09-17 14:04:36 +08:00
 miniyao
目前是前端检测到异常访问 IP,直接存数据库,然后在业务层拒绝访问。

现在想把这个拦截前置到 nginx,就是这个 blocked_IPs 用什么方法给到 nginx 呢?

一般这个 blocked_IPs 会一周之后释放,不再拦截,因此考虑每天更新一下,能不能不重启 nginx 实现?
858 次点击
所在节点    问与答
3 条回复
dilu
2020-09-17 14:12:29 +08:00
最主流的肯定 redis 啦 用 lua 还能直接取到 很方便噻
HAWCat
2020-09-17 14:19:06 +08:00
用 fail2ban 吧,设置异常规则,设置封锁时间,...等等,封锁时间到了它会自动放行 IP 访问的。
airyland
2020-09-17 15:45:14 +08:00
定时写到单独的 block.ip 文件,在 nginx 配置中 include 这个文件。每次写入后 nginx -s reload 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/707910

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX