
使用反向代理。
在前端 nginx http 中加入 deny ip 是正常的。
现在有需要,根据后端程序产生的 log,进行统计判断自动 deny ip。
后端获取用户真实 IP 地址都是正确的。。
在后端源站 nginx 中加入 deny ip 不起作用。
请各位大佬指教。。
如何在后端源站 nginx 中 deny ip ?
1 zjlletian 2019-01-27 10:52:52 +08:00 前端 nignx 加上 xff,后端通过 xff 判断客户端 ip |
2 pubby 2019-01-27 10:54:40 +08:00 via Android 换个思路,不要 deny,直接返回 404 |
5 AlisaDestiny 2019-01-27 11:45:13 +08:00 nginx 加入 deny ip 相当于修改了配置文件,要生效需要 reload. |
6 firebroo 2019-01-27 12:58:36 +08:00 via Android 用 lua 在 nginx 实现 deny 逻辑,deny 数据存 redis |
7 xmlf OP @AlisaDestiny 当然 reload 了 |
9 zjlletian 2019-01-27 15:49:16 +08:00 @xmlf 你为啥非要 deny ip 呢,自己写一下 if 规则不行么。。。 如果非要 deny,那你前端就不能用七层负载均衡,改用 lvs 可以正确获取用户 ip。 |
11 xmlf OP @zjlletian 我现在思路是,前端从后端源站 wget deny.conf 文件,保存在前端后 nginx reload |
12 firebroo 2019-01-27 19:45:35 +08:00 via Android lua 不复杂啊,几行代码 |
13 willis 2019-01-27 19:46:40 +08:00 最前端不开 realip,传 xff 到后端,后端 nginx 用 realip 模块 ,把 XFF 设置成 remote addr,后端就能用 deny ip 了, 不过还是建议用 lua + redis,好处是可以按需,不用 reload |
14 popvlovs 2019-01-28 11:27:08 +08:00 lua + redis 比较方便,OpenResty 了解一下 |
15 ducklyl 2019-01-28 11:46:36 +08:00 nginx+lua+redis,在 lua 中过滤禁止 IP.把 IP 列表存入 redis,这样效率较高。可实时验证。 |