更新时间:2025-08-05 GMT+08:00

独享型ELB获取客户端真实IP

获取客户端IP功能概述

对于独享型ELB实例,“获取客户端IP”功能在四层监听器和七层监听器的实现方法存在不同。

  • 四层协议监听器(TCP/UDP)默认支持“获取客户端IP”功能,ELB实例与后端服务器之间直接使用客户端真实的IP地址通信,通过后端服务器的日志记录便可获取客户端的真实IP。
  • 七层协议监听器(HTTP/HTTPS/QUIC)默认支持“获取客户端IP”功能,即支持通过X-Forwarded-For字段传递客户端的真实IP,X-Forwarded-For字段记录的第一个IP地址即为客户端真实IP。
  • TLS监听器不支持“获取客户端IP”功能,您可以开启ProxyProtocol功能来获取客户端真实IP。

注意事项

监听器支持“获取客户端IP”功能后:

  • 不支持同一台服务器既作为后端服务器又作为客户端的场景。如果后端服务器和客户端使用同一台服务器,且开启“获取客户端IP”,则后端服务器会根据报文源IP为本地IP判定该报文为本机发出的报文,无法将应答报文返回给ELB,最终导致回程流量不通。
  • 后端服务器发生迁移时,可能出现流量中断(例如单向数据传输和推送信息类的业务场景)。后端服务器迁移完成后,需要通过报文重传来恢复流量。

四层监听获取客户端真实IP

部分特殊场景,四层监听器的“获取客户端IP”功能失效,您可以参考表1

更多详情,您可以参考在四层独享型ELB转发下获取客户端真实IP

表1 四层监听获取客户端真实IP方法总结

监听器

“获取客户端IP”功能

“获取客户端IP”功能失效场景

其他方法

TCP监听器

支持

  • 与IP类型后端通信。
  • 开启IPv4/IPv6地址转换开关后,客户端IP地址发生转换。

UDP监听器

支持

  • 与IP类型后端通信。
  • 开启IPv4/IPv6地址转换开关后,客户端IP地址发生转换。

不涉及

TLS监听器

不支持

不涉及

通过ProxyProtocol协议获取客户端真实IP

七层监听获取客户端真实IP

您需要对后端服务器进行配置,确保服务器可以正确解析X-Forwarded-For字段以获取客户端的真实IP。

X-Forwarded-For字段格式如下:

X-Forwarded-For: <请求客户端真实IP, 代理服务器1-IP, 代理服务器2-IP, ...>

使用此方式获取客户端真实IP时,获取的第一个IP地址就是客户端真实IP。

更多详情,您可以参考在七层独享型ELB转发下获取客户端真实IP

相关文档