宝塔面板使用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 地址,为网站运营提供可靠数据支持。

相关推荐
wa的一声哭了1 小时前
WeBASE管理平台部署-WeBASE-Web
linux·前端·网络·arm开发·spring boot·架构·区块链
YJlio1 小时前
进程和诊断工具学习笔记(8.19):Hyper-V 来宾调试与符号配置 —— 在虚拟化场景下用 LiveKd 抓现场
网络·笔记·学习
j***48541 小时前
Node.js实现WebSocket教程
websocket·网络协议·node.js
青果网络_xz2 小时前
全球代理IP是什么?它和普通代理有什么区别?
网络·网络协议·tcp/ip
q***13344 小时前
电脑可以连接wifi,但是连接后仍然显示没有网络
网络·电脑·php
独行soc7 小时前
2025年渗透测试面试题总结-250(题目+回答)
网络·驱动开发·python·安全·web安全·渗透测试·安全狮
csdn_wuwt7 小时前
前后端中Dto是什么意思?
开发语言·网络·后端·安全·前端框架·开发
JosieBook7 小时前
【Rust】基于Rust 设计开发nginx运行日志高效分析工具
服务器·网络·rust
电话交换机IPPBX-3CX9 小时前
电话交换机IPPBX-3CX的呼叫记录导出
运维·服务器·网络
安科瑞刘鸿鹏1711 小时前
从监测到保护:ALP如何赋能企业配电柜安全升级?
运维·网络·安全