网站避免攻击以及需要加速的情况下使用了CDN的情况下,nginx的访问日志只会记录节点IP,无法记录用户真实访问IP。下面就教大家如何记录用户真实IP。废话不多说下面以宝塔面板为例:
方法一:
1、修改nginx.conf配置文件,所在路径是 /www/server/nginx/conf
在 http{ 后面加入这一段:
log_format realiplog '$http_x_forwarded_for - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" ';
如下图所示:
2、找到已开启CDN的网站的配置文件,将最后的
access_log /www/wwwlogs/域名.log;
改成
access_log /www/wwwlogs/域名.log realiplog;
如下图所示:
方法二:
在nginx #include luawaf.conf; 后面配置还下面代码然后重启
如下图所示:
代码如下:
#获取用户真实ip
代码语言:C复制set_real_ip_from 0.0.0.0/0;
real_ip_header X-Forwarded-For;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;