在宝塔面板环境中配置 CDN 加速服务后,服务器日志默认记录的是 CDN 节点 IP,这给网站流量分析带来不便。本文将为您提供多种解决方案,帮助您在 CDN 生效的同时获取真实访客 IP。
一、Nginx 配置调整方案
日志格式优化
在宝塔面板中打开 Nginx 配置界面,定位到 http 模块区域,添加以下日志格式定义:
log_format cdn_access '$http_x_forwarded_for - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent"';或在Nginx添加以下代码(简单方便)
将盾CDN:www.1k4.cnset_real_ip_from 0.0.0.0/0;
real_ip_header X-Forwarded-For;
二、防火墙策略配置
启用宝塔防火墙的 CDN 支持功能:
打开CDN识别功能与关闭CC防御
验证方法:
通过访问日志文件查看请求记录,正常情况下应显示类似以下格式:
plaintext
192.168.1.1 - - [08/Sep/2021:10:12:41 +0800] "GET / HTTP/1.1" 200 1234 "-" "Mozilla/5.0..."
注意事项:
修改配置后需重启 Nginx 服务生效
部分 CDN 服务商可能需要额外配置回源验证
建议定期检查日志格式是否被覆盖
通过上述方法,您可以在保障 CDN 加速效果的同时,准确获取用户真实 IP 地址,为网站运营提供可靠数据支持。