V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
edis0n0
V2EX  ›  程序员

CDN 流量被刷了, Nginx 有办法限制同一个 IP 一天最多只能下载固定次数同一个 JS 文件吗?

  •  
  •   edis0n0 · 2022-08-20 14:35:35 +08:00 · 3188 次点击
    这是一个创建于 824 天前的主题,其中的信息可能已经有所发展或是发生改变。
    15 条回复    2022-08-21 17:59:54 +08:00
    LindsayZhou
        1
    LindsayZhou  
       2022-08-20 14:42:51 +08:00
    "天“这个单位有点长,我想到的是用 lua 存 redis ,我没写过,理论上应该是做得到的。
    如果是每秒或者每分钟,可以用 nginx 的 limit_req_zone 模块。
    googlefans
        2
    googlefans  
       2022-08-20 15:33:14 +08:00
    为什么被刷?得罪人了?
    edis0n0
        3
    edis0n0  
    OP
       2022-08-20 15:36:01 +08:00
    @googlefans #2 被同行恶意刷不是非常常见
    zhuweiyou
        4
    zhuweiyou  
       2022-08-20 15:41:38 +08:00
    cdn 都带 ip 限制功能
    nicoljiang
        5
    nicoljiang  
       2022-08-20 16:30:42 +08:00
    移动的基站 IP 或者那种公共 IP 咋办?
    eason1874
        6
    eason1874  
       2022-08-20 16:40:30 +08:00
    你服务器的 Nginx 限制不了客户端发给 CDN 的请求,要限制需要修改 CDN 配置
    mjchow
        7
    mjchow  
       2022-08-20 16:56:41 +08:00 via iPhone
    nginx 只是你的回源站点的 前端服务器吧
    herozzm
        8
    herozzm  
       2022-08-20 17:02:29 +08:00
    找到特征,程序返回 4xx ,比如 header 的来路和 ua
    xx3122
        9
    xx3122  
       2022-08-20 17:04:48 +08:00
    cdn 里限制,不是你服务器上限制
    IDAEngine
        10
    IDAEngine  
       2022-08-20 19:57:27 +08:00
    CDN 里面对单 IP 限流或限速
    estk
        11
    estk  
       2022-08-20 19:58:04 +08:00
    从来不敢用流量计费的产品,犯罪成本太低,被刷代价太大,看到好几个人欠费几万十几万的
    miyuki
        12
    miyuki  
       2022-08-20 20:44:11 +08:00
    你这应该在 cdn 限制,因为很可能缓存的这些文件,用户流量都不需要经过源站
    findex
        13
    findex  
       2022-08-20 21:22:52 +08:00
    别说 cdn 被刷了,有人用的谷歌 firebase 全家桶被人一天刷了几万刀,直接破产,谷歌还不给停,一觉醒来破产。
    谷歌就等你用 firebase 全家桶做应用呢
    xiaoz
        14
    xiaoz  
       2022-08-20 23:25:52 +08:00 via Android
    可以用 fail2ban 分析 nginx 日志,然后达到设定次数后 ban 掉指定时间。
    ragnaroks
        15
    ragnaroks  
       2022-08-21 17:59:54 +08:00
    无解,上 CF 吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1134 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 23:02 · PVG 07:02 · LAX 15:02 · JFK 18:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.