› NGINX
› NGINX Trac
› 3rd Party Modules
› Security Advisories
› CHANGES
› OpenResty
› ngx_lua
› Tengine
在线学习资源
› NGINX 开发从入门到精通
NGINX Modules
› ngx_echo
xmlf
V2EX  ›  NGINX

如何在源站 nginx 设置 deny ip?

  •  
  •   xmlf · Jan 27, 2019 · 5331 views
    This topic created in 2846 days ago, the information mentioned may be changed or developed.

    使用反向代理。

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

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

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

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

    请各位大佬指教。。

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

    15 replies  •  2019-01-28 11:46:36 +08:00
    zjlletian
    zjlletian
    Jan 27, 2019
    1
    前端 nignx 加上 xff,后端通过 xff 判断客户端 ip
    pubby
    pubby
    Jan 27, 2019 via Android
    2
    换个思路,不要 deny,直接返回 404
    xmlf
    xmlf
    OP
    Jan 27, 2019 via Android
    3
    @zjlletian 后端日志和程序获取用户 ip 没任何问题,deny ip 不起作用
    xmlf
    xmlf
    OP
    Jan 27, 2019 via Android
    4
    @pubby 如何自动批量实现?
    AlisaDestiny
    AlisaDestiny
    Jan 27, 2019
    5
    nginx 加入 deny ip 相当于修改了配置文件,要生效需要 reload.
    firebroo
    firebroo
    Jan 27, 2019 via Android
    6
    用 lua 在 nginx 实现 deny 逻辑,deny 数据存 redis
    xmlf
    xmlf
    OP
    Jan 27, 2019 via Android
    7
    @AlisaDestiny 当然 reload 了
    xmlf
    xmlf
    OP
    Jan 27, 2019 via Android
    8
    @firebroo ……要这么复杂吗?没什么简便些方法吗?
    zjlletian
    zjlletian
    Jan 27, 2019
    9
    @xmlf 你为啥非要 deny ip 呢,自己写一下 if 规则不行么。。。 如果非要 deny,那你前端就不能用七层负载均衡,改用 lvs 可以正确获取用户 ip。
    xmlf
    xmlf
    OP
    Jan 27, 2019
    10
    @zjlletian 如果用 if 规则,可以通过脚本自动增加 IP 或者移除 IP 吗?求赐教
    xmlf
    xmlf
    OP
    Jan 27, 2019 via Android
    11
    @zjlletian 我现在思路是,前端从后端源站 wget deny.conf 文件,保存在前端后 nginx reload
    firebroo
    firebroo
    Jan 27, 2019 via Android
    12
    lua 不复杂啊,几行代码
    willis
    willis
    Jan 27, 2019❤️1
    13
    最前端不开 realip,传 xff 到后端,后端 nginx 用 realip 模块 ,把 XFF 设置成 remote addr,后端就能用 deny ip 了,
    不过还是建议用 lua + redis,好处是可以按需,不用 reload
    popvlovs
    popvlovs
    Jan 28, 2019
    14
    lua + redis 比较方便,OpenResty 了解一下
    ducklyl
    ducklyl
    Jan 28, 2019
    15
    nginx+lua+redis,在 lua 中过滤禁止 IP.把 IP 列表存入 redis,这样效率较高。可实时验证。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   955 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 20:37 · PVG 04:37 · LAX 12:37 · JFK 15:37
    ♥ Do have faith in what you're doing.