技术解析

如何在源站 nginx 设置 deny ip?
0
2021-05-19 20:42:31
idczone

使用反向代理。

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

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

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

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

请各位大佬指教。。

如何在后抗投诉服务器端源站 nginx 中 deny ip ?


前端 nignx 加上 xff,后端通过 xff 判断客户端 ip

换个思路,不要 deny,直接返回 404

后端日志和程序获取用户 ip 没任何问题,deny ip 不起作用

如何自动批量实现?

nginx 加入 deny ip 相当于修改了配置文件,要生效需要 reload.

用 lua 在 nginx 实现 deny 逻辑,deny 数据存 redis

当然 reload 了

……要这么复杂吗?没什么简便些方法吗?

你为啥非要 deny ip 呢,自己写一下 if 规则不行么。。。 如果非要 deny,那你前端就不能用七层负载均衡,改用 lvs 可以正确获取用户 ip。

如果用 if 规则,可以通过脚本自动增加 IP 或者移除 IP 吗?求赐教

我现在思路是,前端从后端源站 wget deny.conf 文件,保存在前端后 nginx reload

lua 不复杂啊,几行代码

最前端不开 realip,传 xff 到后端,后端 nginx 用 realip 模块 ,把 XFF 设置成 remote addr,后端就能用 deny ip 了,
不过还是建议用 lua + redis,好处是可以按需,不用 reload

lua + redis 比较方便,OpenResty 了解一下

nginx+lua+redis,在 lua 中过滤禁止 IP.把 IP 列表存入 redis,这样效率较高。可实时验证。

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服