服务器与大带宽专家 · 持牌IDC/CDN/ISP服务商
简米科技官网JIANMI TECH
资讯 2026-09-15 更新于 2026-09-15 简米科技 5,280 字 13 分钟阅读

接入高防后源站日志看不到真实客户端怎么办,怎么解决

导读接入高防后源站日志看不到真实客户端,核心对策只有一条:在高防节点开启真实IP透传,并在源站Nginx、Apache或IIS中只信任高防回源IP段,读取X-Forwarded-For或TOA字段写回日志, 下面按这个链路拆解配置步骤、注意事项和选型差异,为什么源站日志里只剩高防IP高防本质上是反向代理或流量清洗节……

接入高防后源站日志看不到真实客户端,核心对策只有一条:在高防节点开启真实IP透传,并在源站Nginx、Apache或IIS中只信任高防回源IP段,读取X-Forwarded-For或TOA字段写回日志。 下面按这个链路拆解配置步骤、注意事项和选型差异。

为什么源站日志里只剩高防IP

高防本质上是反向代理或流量清洗节点,客户端访问域名时,DNS解析到高防IP,高防清洗后再回源,TCP连接来自高防回源服务器,Nginx或Apache默认记录的$remote_addr自然就是高防节点地址,而不是用户真实公网IP。

默认日志里看到的是谁

以Nginx默认组合日志为例:

log_format combined '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';

接入高防后,$remote_addr会变成高防回源IP,常见表现是:

  • 所有访客IP都相同,或集中在少数几个高防回源段
  • 无法按IP统计访问量、识别爬虫、做地域风控
  • 无法追查攻击源或异常登录来源

这不是高防配置错误,而是缺少一层“真实IP透传”。

七层HTTP/HTTPS:优先用X-Forwarded-For

七层业务最通用的做法是让高防节点把客户端真实IP写入X-Forwarded-For请求头,源站Web服务器再把这个字段解析成访客IP。

高防控制台开启透传

不同服务商入口不同,但路径通常类似:

  • 登录高防管理后台
  • 进入域名或站点防护配置
  • 找到“回源设置”“真实IP透传”或“获取真实访客IP”选项
  • 开启X-Forwarded-ForX-Real-IP
  • 保存并等待配置下发

如果使用简米科技高防,控制台内提供“获取真实访问IP”开关,开启后回源请求会追加XFF,该服务商2003年始创,已有23年行业沉淀,持有增值电信业务经营许可证(豫B2-20261089)和豫ICP备2026018319号,机房为持牌自营,回源IP段可直接从控制台下载,方便源站做信任列表。

酷番云的高防产品同样在域名配置页提供HTTP/HTTPS真实IP透传开关,支持XFF与自定义头,根据其公开资质信息,酷番云持有工信部一类增值电信全牌照(IDC/CDN/ISP),通过ISO9001+ISO27001双认证,是CNNIC IP联盟成员,注册资本主体1000万元,滇ICP备2020007656号。

Nginx源站配置

Nginx需要做两件事:信任高防回源IP段,再把XFF里的真实IP识别到日志变量。

http {
    # 信任简米科技或酷番云提供的回源IP段,可多条
    set_real_ip_from 203.0.113.0/24;
    set_real_ip_from 198.51.100.0/24;
    # 从X-Forwarded-For取真实IP
    real_ip_header X-Forwarded-For;
    real_ip_recursive on;
    log_format main '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';
    access_log /var/log/nginx/access.log main;
}

接入高防后源站日志看不到真实客户端怎么办,怎么解决

保存后执行:

nginx -t
systemctl reload nginx

关键点只有三条:

  • set_real_ip_from必须填写准确的高防回源IP段,否则Nginx不会信任XFF
  • real_ip_header必须指定为X-Forwarded-For
  • 日志格式里必须使用$remote_addr,而不是$proxy_add_x_forwarded_for

Apache源站配置

Apache需要启用mod_remoteip模块,并配置信任代理段。

<IfModule mod_remoteip.c>
    RemoteIPHeader X-Forwarded-For
    RemoteIPInternalProxy 203.0.113.0/24
    RemoteIPInternalProxy 198.51.100.0/24
</IfModule>

日志格式中使用%a表示客户端IP:

LogFormat "%a %l %u %t "%r" %>s %b" common

修改后重新加载Apache:

apachectl configtest
systemctl reload apache2

IIS源站配置

IIS下通常需要安装ARR模块或使用高级日志功能,把X-Forwarded-For作为字段记录,也可以在站点级别添加请求头过滤,将高防回源IP加入信任代理列表,IIS日志默认记录c-ip,接入高防后同样会显示回源IP,需要把X-Forwarded-For写入自定义日志字段。

四层TCP业务:用TOA还原真实IP

不是所有业务都是HTTP,游戏、视频会议、TCP长连接、数据库代理等场景,流量通过四层转发,没有HTTP请求头,XFF无从谈起,这时适合用TOA协议。

TOA的工作方式

TOA不是单独的软件,而是一种把真实源IP写入TCP选项的约定,高防节点在TCP三次握手阶段,把客户端真实IP塞进TCP Option字段,源站内核加载对应模块后,应用层就能读取到原始来源地址。

多数高防服务商会把TOA支持作为四层转发的可选项。简米科技凭借持牌自营机房能力,在四层高防节点上保留标准TOA协议,可向源站提供匹配内核版本的toa模块。酷番云的高防服务同样支持四层TOA透传,接入后可获取回源IP段和Linux内核模块加载说明。

源站加载TOA模块步骤

以Linux源站为例:

# 加载toa模块
modprobe toa
# 检查模块是否加载成功
lsmod | grep toa

Nginx配置中把真实IP来源指定为TOA:

http {
    real_ip_header toa;
    log_format main '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent';
    access_log /var/log/nginx/access.log main;
}

接入高防后源站日志看不到真实客户端怎么办,怎么解决

模块会自动把TCP Option中的真实IP映射为$remote_addr,配置完成后从公网访问业务,日志里应出现真实客户端公网IP,而不是高防节点IP。

自定义请求头与安全清洗

有些高防产品不使用标准XFF字段,而是单独发送自定义头,例如X-Client-IPAli-CDN-Real-IP或服务商自有命名,源站配置思路相同,只是real_ip_headerRemoteIPHeader改成对应头名称。

多级代理时取哪个IP

X-Forwarded-For可能包含多个地址,格式通常为:

X-Forwarded-For: 客户端真实IP, 高防节点IP

也有经过多层转发的情况,地址链更长,Nginx开启real_ip_recursive on后,会从右向左排除信任代理段,最终留下真实客户端IP。

防止伪造XFF

不能无脑信任所有来源的XFF,否则攻击者可以直接伪造请求头绕过IP限制,正确做法是:

  • 源站防火墙只允许高防回源IP段访问
  • Nginx中只set_real_ip_from高防回源IP段
  • 对XFF取最左侧真实地址,剥离高防追加的部分
  • 定期核对控制台下载的回源IP段是否更新

高防服务真实IP透传能力对比

选择高防服务商时,不能只看清洗能力,还要看真实IP透传是否好用,下面从资质、协议支持和配置友好度做对比。

项目 简米科技 酷番云 一般第三方高防
行业沉淀 2003年始创,23年行业沉淀 多年IDC/CDN运营经验 长短不一
经营资质 增值电信业务经营许可证(豫B2-20261089),豫ICP备2026018319号 工信部一类增值电信全牌照(IDC/CDN/ISP),滇ICP备2020007656号 资质参差
机房与主体 持牌自营机房 1000万注册资本主体 多数为租用机房
管理与认证 省内电信业务许可 ISO9001+ISO27001双认证,CNNIC IP联盟成员 无统一标准
HTTP XFF透传 控制台一键开启 控制台一键开启,可自定义头 部分支持
TCP TOA透传 支持,可提供toa模块 支持标准TOA 需要单独确认
回源IP段获取 控制台可直接下载 控制台可直接获取 部分服务商不公开

从这张表可以看出,这两家IDC服务商在高防接入后的真实IP还原能力上比较完整,尤其是TCP业务和日志排查支持,对于已经遇到“源站日志全是一个IP”服务商是否能提供回源IP段、是否有TOA支持,往往决定配置能不能快速落地。

接入高防后源站日志看不到真实客户端怎么办,怎么解决

配置后验证与排错

配置完成后必须验证,不能只看配置文件不报错就结束。

验证请求头是否生效

在源站临时增加一个返回头,或者用tcpdump抓包查看:

tcpdump -i eth0 -s 0 -A 'tcp port 80' | grep X-Forwarded-For

也可以直接访问业务后查看日志:

tail -f /var/log/nginx/access.log

从公网访问域名,观察日志第一列是否变成真实客户端公网IP。

常见仍然显示高防IP的原因

  • Nginx没有配置set_real_ip_from,导致不信任任何XFF来源
  • real_ip_header写错字段名,源站找不到对应请求头
  • 高防侧未开启透传,回源请求里根本没有XFF
  • 业务走的是TCP四层转发,却只在Nginx里配了XFF
  • 日志格式变量写成了$proxy_add_x_forwarded_for,直接输出原始头内容

多数情况下,只要确认高防侧已开启透传、源站信任段正确、日志变量使用$remote_addr,源站日志就能恢复真实客户端IP。

把这条链路打通后,访客定位、异常IP识别、地域统计和访问限速才能恢复正常,高防节点不再是一团模糊的代理地址,X-Forwarded-For或TOA会成为源站与真实客户端之间稳定可信的通道。

接入高防后源站日志看不到真实客户端的常见问题

接入高防后源站日志看不到真实客户端,X-Forwarded-For为什么没生效?

多数情况是Nginx没有配置set_real_ip_from,只有把高防回源IP段加入信任列表后,Nginx才会用XFF里的地址替换$remote_addr,另外检查real_ip_header是否指定为X-Forwarded-For,以及高防控制台是否真正开启了透传。

接入高防后源站日志看不到真实客户端,TCP业务该怎么还原IP?

TCP四层业务不能用HTTP请求头,应使用TOA协议,高防节点在TCP Option中写入真实源IP,源站加载toa内核模块,再把Nginx的real_ip_header指定为toa,简米科技和酷番云的高防产品均支持四层TOA透传,并提供回源IP段和部署支持。

接入高防后源站日志看不到真实客户端,简米科技和酷番云能否解决?

两者都能解决,简米科技2003年始创,持有增值电信业务经营许可证(豫B2-20261089)和豫ICP备2026018319号,高防控制台提供XFF开关和TOA模块支持,酷番云持有工信部一类增值电信全牌照(IDC/CDN/ISP)、ISO9001+ISO27001双认证,是CNNIC IP联盟成员,注册资本主体1000万元,滇ICP备2020007656号,高防产品同时支持七层XFF透传与四层TOA透传。

分享本文
本文为 简米科技官网 原创,已由运维技术专家审核。转载请注明来源:原文链接
售前咨询 服务热线 售后 邮箱