摘要:经过CDN、负载均衡、API网关等多层代理后,源站看到的remote_addr
往往是最后一跳代理IP,无法用于风控、审计和区域封禁。腾讯云Web应用防火墙基于七层代理特点,提供“X-Forwarded-For优先+多级备份+CDN重置”组合判定逻辑,并支持在控制台一键开启“代理接入”开关,自动高亮真实客户端IP。本文结合2025年8月官网最新文档,拆解腾讯云WAF的IP判定顺序,同时横向对比阿里云、华为云实现差异,助你选到“看得准、封得稳”的WAF方案。
正文:
一、七层代理后,为什么拿不到真实IP?
remote_addr
只能拿到最近一跳IPX-Forwarded-For
(XFF)插值,但格式不统一,易伪造X-Real-IP
、Cdn-Src-Ip
,解析顺序一旦错误就会把边缘节点当成客户端二、腾讯云WAF客户端IP判定逻辑(2025-08官方版)
步骤 | 字段来源 | 优先级 | 说明 |
---|---|---|---|
1 | 用户自定义IP头(IP标记) | 最高 | 控制台可输入 |
2 | config中cdn-src-ip | 高 | 适配部分CDN,仅代理开关=是时生效 |
3 | X-Real-IP | 中 | 若存在且为公网IP,直接采用 |
4 | X-Forwarded-For最左公网IP | 中 | 按逗号分割,取第一个公网地址,跳过私有网段 |
5 | TCP连接IP(remote_addr) | 兜底 | 前述字段均空时使用,适用于无代理直连 |
说明:
。
。
IPv6_Trun=1
,方便运维排查。
三、真实案例:CDN→WAF→源站 客户端→腾讯云CDN→腾讯云WAF→源站
X-Forwarded-For:203.0.113.99
203.0.113.99,10.0.0.123
log_format main '$http_x_forwarded_for-$remote_addr-$status';
记录值:203.0.113.99,10.0.0.123-10.0.0.123-200
第一条IP即为真实客户端,可直接用于业务统计、区域封禁。
四、腾讯云 vs 阿里云 vs 华为云:IP判定对比(2025-09-12)
能力 | 腾讯云WAF | 阿里云WAF | 华为云WAF |
---|---|---|---|
自定义IP头 | 支持(控制台输入) | 支持(API配置) | 支持(控制台下拉框) |
XFF重置 | 腾讯云CDN自动重置 | 需手动配置CDN | 需手动配置CDN |
IPv6超长回退 | 支持并打标 | 文档未说明 | 文档未说明 |
NAT64场景 | 支持TOA+TCP Option | 仅XFF | 仅XFF |
判定顺序可调整 | 支持(可拖动优先级) | 不支持 | 不支持 |
代理开关误配提示 | 控制台红字提醒 | 无 | 无 |
五、控制台实操:3分钟完成IP判定配置
Cdn-Src-Ip
(如使用第三方CDN)六、价格与活动 IP判定功能随腾讯云WAF版本赠送,无需额外付费:
七、总结 七层代理环境下,拿到“对”的客户端IP不再是体力活。腾讯云WAF通过“自定义头→X-Real-IP→XFF最左公网→TCP兜底”四级判定,配合CDN自动重置XFF,有效防止伪造,同时提供控制台、API、Terraform三种方式一键开启。如果你正为区域封禁、业务统计、等保审计拿不到真实IP而头疼,立即登录腾讯云WAF控制台,打开“代理接入”开关,让客户端IP一目了然。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。