吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1037|回复: 5
收起左侧

[求助] 关于服务器统计ip的问题

[复制链接]
红色不该遗忘 发表于 2022-5-9 11:59
最近有个需求:要将客户端请求过来的ip地址记录下来,并对这些进行后续操作(归属地统计、ip封禁等)
在“如何记录ip”这个问题上,我查过很多资料,大多都是让我从nginx的access.log中提取,但我想,这样子做会不会太被动了?
我的想法是在nginx转发前就执行一个lua脚本,记录下这次请求的ip地址(记录在文件、或是队列、或是redis)却始终不知道如何下手
所以想请教各位大神,我的思路是正确的吗?是否还有更好的解决方案?该如何操作呢

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

wsl-rm 发表于 2022-5-9 14:11
是这样的呀! 思路是没问题的,很多后台管理系统就是这样把客户端请求ip记录入库的
网络很鬼 发表于 2022-5-9 14:34
yn9 发表于 2022-5-9 14:39
pzx521521 发表于 2022-5-9 15:08
样子做会不会太被动,  这是什么意思呢?
access.log 本来就是写到文件里面了

如果是对日志类的监测  动态监测文件变化就好了 参考Prometheus
原因如下:
1.如果在转发前执行操作, 实际生成中如果这些操作出问题了, 转发是不是也会失败?
2.lua脚本对处理数据/连接数据库等复杂操作并不友好
serious_snow 发表于 2022-5-12 19:36
本帖最后由 serious_snow 于 2022-5-12 19:38 编辑

反向代{过}{滤}理那里加一条

[Asm] 纯文本查看 复制代码
       proxy_set_header X-Real-IP       $remote_addr;


然后你的程序里面直接读取request的header里的X-Real-IP就可以了

比我我的是这样的

[Asm] 纯文本查看 复制代码
    location /api {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host            $http_host;
        proxy_set_header X-Real-IP       $remote_addr;
        proxy_pass http://127.0.0.1:7033/api;
    }
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 13:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表