一次nginx 请求真实ip 问题处理

nginx ngx_http_realip 模块是比较重要的,我以前也大概说过,同时网上关于此模块的资料也不少,今天就碰到了一个获取真实ip 的问题
记录下

参考业务模型

 

 

问题

以前的配置,waf 会自动携带ip 到X-Forwarded-For,同时会附加最后一跳的ip

 
 real_ip_header     X-Forwarded-For;
 real_ip_recursive on;

问题就出在没有仔细处理header,结果每次取到的ip 都是waf 节点的(应该是header 处理顺序的问题)

解决方法

实际上官方文档也已经写了,应该添加上可信ip 源 set_real_ip_from 指令
参考

 
 real_ip_header     X-Forwarded-For;
 set_real_ip_from  192.168.1.0/24;
 set_real_ip_from  192.168.2.1;
 real_ip_recursive on;

说明

实际上获取真实ip 的方法很多,还是得好好学习阅读官方文档,可以减少我们不少排错问题的时间

参考资料

https://nginx.org/en/docs/http/ngx_http_access_module.html
https://nginx.org/en/docs/http/ngx_http_realip_module.html
https://www.cnblogs.com/rongfengliang/p/16280390.html

posted on   荣锋亮  阅读(229)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· spring官宣接入deepseek,真的太香了~
历史上的今天:
2020-08-17 golang used for two different module paths 问题解决
2020-08-17 grafana dashboard 分享的几种处理方法
2020-08-17 prometheus 自定义服务发现的几种实现方法
2019-08-17 Centrifugo  语言无关的实时消息服务
2018-08-17 harbor rest api 转graphql api
2018-08-17 ringojs java jar 集成使用
2018-08-17 ringojs 使用rp 包管理web 应用依赖

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示