开启cdn/防火墙后nginx access.log如何记录访客真实ip地址

使用cdn/waf之后如何获取用户ip地址

使用cdn、开启防火墙后如何通过宝塔面板、修改conf文件的方式获取访客的真实ip地址

问题场景

正常情况下,通过nginx配置文件设定,可以获取访客的ip地址。但是在启用cdn或者开启防火墙之后,我们只能看到cdn、防火墙那边的ip地址了。

real-ip-nginx-access-logs.png

解决方案

环境

本教程仅提供了nginx的解决方案

适用情况

通过CNAME解析的方式启用了以下功能

cdn
web应用防火墙

修改配置

修改完配置之后,记得重新启动。

宝塔面板

软件商店>运行环境>nginx>设置>配置修改
在http中加入以下代码

set_real_ip_from 0.0.0.0/0;  #保留为0表示获取全网段IP
real_ip_header X-Forwarded-For; #heade报头信息

bt-panel-nginx-conf.png
设置好之后保存即可

未使用面板

如果未使用面板,可以直接修改nginx.conf
一般nginx.conf存放于/usr/local/nginx/conf/nginx.conf

在http中加入以下代码

set_real_ip_from 0.0.0.0/0;  #保留为0表示获取全网段IP
real_ip_header X-Forwarded-For; #heade报头信息

no-panel-nginx-conf.png

需要重启nginx

nginx -s reload
© 版权声明
THE END
喜欢就支持一下吧
点赞22赞赏
分享
评论 抢沙发

请登录后发表评论