本教程基于宝塔面板所安装的Nginx
网站在使用了CDN后,Nginx访问日志中访问者的IP变为了CDN节点的IP,非访问者的真实IP。这为我们分析日志数据带来了不小的麻烦,无法获取真实的访问者统计信息。想要解决这个问题,只需要在Nginx的主配置文件中添加几行代码即可让Nginx输出的访问日志中显示用户的真实IP。
修改Nginx主配置文件
在Nginx的主配置文件nginx.conf
中的http{}
块中任意位置添加以下代码即可。
set_real_ip_from 0.0.0.0/0;
set_real_ip_from ::/0;
# real_ip_header CF-Connecting-IP;
# 使用Cloudflare作为CDN的建议使用上面的real_ip_header,其他CDN或者混用请使用下面的real_ip_header或服务商指定的real_ip_header,只能任选其一
real_ip_header X-Forwarded-For;
real_ip_recursive on;
添加完成后保存文件,宝塔面板会自动为我们重载配置文件。此时网站访问日志中的IP将会变为用户的真实IP地址而非CDN的节点IP。
当然你也可以手动重载配置文件
systemctl reload nginx
至此可以愉快的分析网站日志了!
还有一种较为复杂的仅修改Nginx log_format的方法,该方法不会影响只允许CDN节点IP连接Nginx的情形。本文不赘述。本文的方法将会对上述使用情形造成影响
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容