宝塔面板使用CDN 部署后获取真实客户端 IP教程

在宝塔面板环境中配置 CDN 加速服务后,服务器日志默认记录的是 CDN 节点 IP,这给网站流量分析带来不便。本文将为您提供多种解决方案,帮助您在 CDN 生效的同时获取真实访客 IP。

一、Nginx 配置调整方案

日志格式优化

在宝塔面板中打开 Nginx 配置界面,定位到 http 模块区域,添加以下日志格式定义:

bash 复制代码
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.cn

set_real_ip_from 0.0.0.0/0;
real_ip_header X-Forwarded-For;

二、防火墙策略配置

启用宝塔防火墙的 CDN 支持功能:

打开CDN识别功能与关闭CC防御

验证方法:

通过访问日志文件查看请求记录,正常情况下应显示类似以下格式:

plaintext

bash 复制代码
192.168.1.1 - - [08/Sep/2021:10:12:41 +0800] "GET / HTTP/1.1" 200 1234 "-" "Mozilla/5.0..."

注意事项:

修改配置后需重启 Nginx 服务生效

部分 CDN 服务商可能需要额外配置回源验证

建议定期检查日志格式是否被覆盖

通过上述方法,您可以在保障 CDN 加速效果的同时,准确获取用户真实 IP 地址,为网站运营提供可靠数据支持。

相关推荐
阿维的博客日记2 小时前
(生活比喻-图文并茂)http2.0和http3.0的队头阻塞,http2.0应用层解决,TCP层存在,3.0就是彻底解决,到底怎么理解区别???
网络协议·tcp/ip
2501_916008893 小时前
iOS App抓包工具排查后台唤醒引发请求异常
websocket·网络协议·tcp/ip·http·网络安全·https·udp
Two_brushes.3 小时前
【linux 网络】网络基础
linux·网络
JeffersonZU4 小时前
Linux/Unix 套接字Socket编程(socket基本概念,流程,流式/数据报socket,Unix domain socket示例)
linux·c语言·tcp/ip·udp·unix·gnu
Two_brushes.5 小时前
【linux网络】网络编程全流程详解:从套接字基础到 UDP/TCP 通信实战
linux·开发语言·网络·tcp/udp
D-海漠7 小时前
S7-1200 CPU 与 S7-300 CP ISO on TCP 通信(S7-1200 作为客户端,S7-300 使用 Step7)
tcp/ip
武汉唯众智创7 小时前
高职院校“赛岗课”一体化网络安全实战类人才培养方案
网络·安全·web安全·网络安全·“赛岗课”一体化·赛岗课
2501_915918417 小时前
iPhone 抓包工具有哪些?多工具对比分析优缺点
websocket·网络协议·tcp/ip·http·网络安全·https·udp
工控小楠7 小时前
Modbus TCP转Profinet网关实现视觉相机与西门子PLC配置实例研究
modbustcp·网络协议·tcp/ip·profinet
半路_出家ren8 小时前
传输层协议TCP、UDP
网络协议·tcp/ip·udp·tcp