网站避免攻击以及需要加速的情况下使用了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
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;

标签: none

添加新评论