如何在源站 nginx 设置 deny ip? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xmlf
V2EX    NGINX

如何在源站 nginx 设置 deny ip?

  •  
  •   xmlf 2019-01-27 10:34:30 +08:00 4726 次点击
    这是一个创建于 2523 天前的主题,其中的信息可能已经有所发展或是发生改变。

    使用反向代理。

    在前端 nginx http 中加入 deny ip 是正常的。

    现在有需要,根据后端程序产生的 log,进行统计判断自动 deny ip。

    后端获取用户真实 IP 地址都是正确的。。

    在后端源站 nginx 中加入 deny ip 不起作用。

    请各位大佬指教。。

    如何在后端源站 nginx 中 deny ip ?

    15 条回复    2019-01-28 11:46:36 +08:00
    zjlletian
        1
    zjlletian  
       2019-01-27 10:52:52 +08:00
    前端 nignx 加上 xff,后端通过 xff 判断客户端 ip
    pubby
        2
    pubby  
       2019-01-27 10:54:40 +08:00 via Android
    换个思路,不要 deny,直接返回 404
    xmlf
        3
    xmlf  
    OP
       2019-01-27 11:00:00 +08:00 via Android
    @zjlletian 后端日志和程序获取用户 ip 没任何问题,deny ip 不起作用
    xmlf
        4
    xmlf  
    OP
       2019-01-27 11:01:30 +08:00 via Android
    @pubby 如何自动批量实现?
    AlisaDestiny
        5
    AlisaDestiny  
       2019-01-27 11:45:13 +08:00
    nginx 加入 deny ip 相当于修改了配置文件,要生效需要 reload.
    firebroo
        6
    firebroo  
       2019-01-27 12:58:36 +08:00 via Android
    用 lua 在 nginx 实现 deny 逻辑,deny 数据存 redis
    xmlf
        7
    xmlf  
    OP
       2019-01-27 14:32:30 +08:00 via Android
    @AlisaDestiny 当然 reload 了
    xmlf
        8
    xmlf  
    OP
       2019-01-27 14:33:36 +08:00 via Android
    @firebroo ……要这么复杂吗?没什么简便些方法吗?
    zjlletian
        9
    zjlletian  
       2019-01-27 15:49:16 +08:00
    @xmlf 你为啥非要 deny ip 呢,自己写一下 if 规则不行么。。。 如果非要 deny,那你前端就不能用七层负载均衡,改用 lvs 可以正确获取用户 ip。
    xmlf
        10
    xmlf  
    OP
       2019-01-27 16:10:17 +08:00
    @zjlletian 如果用 if 规则,可以通过脚本自动增加 IP 或者移除 IP 吗?求赐教
    xmlf
        11
    xmlf  
    OP
       2019-01-27 16:45:52 +08:00 via Android
    @zjlletian 我现在思路是,前端从后端源站 wget deny.conf 文件,保存在前端后 nginx reload
    firebroo
        12
    firebroo  
       2019-01-27 19:45:35 +08:00 via Android
    lua 不复杂啊,几行代码
    willis
        13
    willis  
       2019-01-27 19:46:40 +08:00   1
    最前端不开 realip,传 xff 到后端,后端 nginx 用 realip 模块 ,把 XFF 设置成 remote addr,后端就能用 deny ip 了,
    不过还是建议用 lua + redis,好处是可以按需,不用 reload
    popvlovs
        14
    popvlovs  
       2019-01-28 11:27:08 +08:00
    lua + redis 比较方便,OpenResty 了解一下
    ducklyl
        15
    ducklyl  
       2019-01-28 11:46:36 +08:00
    nginx+lua+redis,在 lua 中过滤禁止 IP.把 IP 列表存入 redis,这样效率较高。可实时验证。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2591 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 15:28 PVG 23:28 LAX 07:28 JFK 10:28
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86