V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
miniyao
V2EX  ›  问与答

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

  •  
  •   miniyao · 2020-09-17 14:04:36 +08:00 · 887 次点击
    这是一个创建于 1560 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前是前端检测到异常访问 IP,直接存数据库,然后在业务层拒绝访问。

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

    一般这个 blocked_IPs 会一周之后释放,不再拦截,因此考虑每天更新一下,能不能不重启 nginx 实现?
    3 条回复    2020-09-17 15:45:14 +08:00
    dilu
        1
    dilu  
       2020-09-17 14:12:29 +08:00
    最主流的肯定 redis 啦 用 lua 还能直接取到 很方便噻
    HAWCat
        2
    HAWCat  
       2020-09-17 14:19:06 +08:00
    用 fail2ban 吧,设置异常规则,设置封锁时间,...等等,封锁时间到了它会自动放行 IP 访问的。
    airyland
        3
    airyland  
       2020-09-17 15:45:14 +08:00
    定时写到单独的 block.ip 文件,在 nginx 配置中 include 这个文件。每次写入后 nginx -s reload 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3081 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 13:10 · PVG 21:10 · LAX 05:10 · JFK 08:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.