更新时间: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。
监听器 |
“获取客户端IP”功能 |
“获取客户端IP”功能失效场景 |
其他方法 |
---|---|---|---|
TCP监听器 |
支持 |
|
|
UDP监听器 |
支持 |
|
不涉及 |
TLS监听器 |
不支持 |
不涉及 |
七层监听获取客户端真实IP
您需要对后端服务器进行配置,确保服务器可以正确解析X-Forwarded-For字段以获取客户端的真实IP。
X-Forwarded-For字段格式如下:
X-Forwarded-For: <请求客户端真实IP, 代理服务器1-IP, 代理服务器2-IP, ...>
使用此方式获取客户端真实IP时,获取的第一个IP地址就是客户端真实IP。
更多详情,您可以参考在七层独享型ELB转发下获取客户端真实IP。
相关文档
- 在控制台添加以下监听器时:“获取客户端IP”功能开关默认打开,且不支持关闭。
- 创建监听器接口:transparent_client_ip_enable只支持设置为true,默认支持获取客户端IP功能。