首页/云/云网络与负载均衡速查/七层获取真实客户端 IP
本包目录(247 条)
VPC 与子网36 条公网接入46 条
负载均衡54 条
云 DNS 与 CDN49 条连接与专线41 条云网络排障21 条

七层获取真实客户端 IP

七层转发时负载均衡会在请求头中加入 X-Forwarded-For(以及 X-Real-IP 等,视产品),后端应用应读取请求头获取真实客户端地址;直接取 TCP 对端地址只会得到负载均衡自身。

主要请求头X-Forwarded-For,追加式逗号分隔
补充头部分产品提供 X-Real-IP、X-Forwarded-Proto
后端动作应用或接入网关从头部解析客户端 IP 并记录
安全注意XFF 可被客户端伪造,非信任来源的头部要在入口清洗

在 Nginx 日志中记录客户端 IP 链

在 Nginx 日志中记录客户端 IP 链
log_format lb '$http_x_forwarded_for $remote_addr $request';
# $http_x_forwarded_for 为负载均衡追加的客户端 IP 链
若把 XFF 用作风控或鉴权依据,必须确保入口只接受负载均衡注入的值,并清洗客户端自带的同名头。

易错点

  • 后端记录 remote_addr 作为客户端 IP,审计日志里全是 LB 地址
  • 直接信任客户端自带的 XFF 头,未在入口清洗

数据来源与参考

  • 阿里云 CLB 获取客户端真实 IP 文档
  • 腾讯云 CLB 获取真实 IP 文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌