• 请不要在回答技术问题时复制粘贴 AI 生成的内容
edis0n0
V2EX  ›  程序员

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

  •  
  •   edis0n0 · Aug 20, 2022 · 3760 views
    This topic created in 1386 days ago, the information mentioned may be changed or developed.
    15 replies    2022-08-21 17:59:54 +08:00
    LindsayZhou
        1
    LindsayZhou  
       Aug 20, 2022
    "天“这个单位有点长,我想到的是用 lua 存 redis ,我没写过,理论上应该是做得到的。
    如果是每秒或者每分钟,可以用 nginx 的 limit_req_zone 模块。
    googlefans
        2
    googlefans  
       Aug 20, 2022
    为什么被刷?得罪人了?
    edis0n0
        3
    edis0n0  
    OP
       Aug 20, 2022
    @googlefans #2 被同行恶意刷不是非常常见
    zhuweiyou
        4
    zhuweiyou  
       Aug 20, 2022
    cdn 都带 ip 限制功能
    nicoljiang
        5
    nicoljiang  
    PRO
       Aug 20, 2022
    移动的基站 IP 或者那种公共 IP 咋办?
    eason1874
        6
    eason1874  
       Aug 20, 2022
    你服务器的 Nginx 限制不了客户端发给 CDN 的请求,要限制需要修改 CDN 配置
    mjchow
        7
    mjchow  
       Aug 20, 2022 via iPhone
    nginx 只是你的回源站点的 前端服务器吧
    herozzm
        8
    herozzm  
       Aug 20, 2022
    找到特征,程序返回 4xx ,比如 header 的来路和 ua
    xx3122
        9
    xx3122  
       Aug 20, 2022
    cdn 里限制,不是你服务器上限制
    IDAEngine
        10
    IDAEngine  
       Aug 20, 2022
    CDN 里面对单 IP 限流或限速
    estk
        11
    estk  
       Aug 20, 2022
    从来不敢用流量计费的产品,犯罪成本太低,被刷代价太大,看到好几个人欠费几万十几万的
    miyuki
        12
    miyuki  
       Aug 20, 2022
    你这应该在 cdn 限制,因为很可能缓存的这些文件,用户流量都不需要经过源站
    findex
        13
    findex  
       Aug 20, 2022
    别说 cdn 被刷了,有人用的谷歌 firebase 全家桶被人一天刷了几万刀,直接破产,谷歌还不给停,一觉醒来破产。
    谷歌就等你用 firebase 全家桶做应用呢
    xiaoz
        14
    xiaoz  
       Aug 20, 2022 via Android
    可以用 fail2ban 分析 nginx 日志,然后达到设定次数后 ban 掉指定时间。
    ragnaroks
        15
    ragnaroks  
       Aug 21, 2022
    无解,上 CF 吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2719 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 70ms · UTC 15:29 · PVG 23:29 · LAX 08:29 · JFK 11:29
    ♥ Do have faith in what you're doing.