共享型ELB获取客户端真实IP
操作场景
一般情况下,共享型ELB会使用100.125网段的IP和后端服务器进行通信。如果您想要获取客户端的真实IP,您可以开启“获取客户端IP”功能,此时,ELB和后端服务器之间直接使用真实的IP进行通信。
目前,共享型负载均衡对“获取客户端IP”功能的支持情况如表1。
约束与限制
- 开启/关闭“获取客户端IP”的过程中,如果监听器已经添加了后端服务器,则访问监听器的流量会中断,中断时间为10秒(后端服务器组配置的健康检查间隔*2)。
- 开启“获取客户端IP”之后,不支持同一台服务器既作为后端服务器又作为客户端的场景。如果后端服务器和客户端使用同一台服务器,且开启“获取客户端IP”,则后端服务器会根据报文源IP为本地IP判定该报文为本机发出的报文,无法将应答报文返回给ELB,最终导致回程流量不通。
- 如果监听器之前已经添加了后端服务器、并且开启了健康检查功能,开启“获取客户端IP”功能会重新上线后端服务器,新建流量会有1-2个健康检查间隔的中断。
- 开启此功能后,执行后端服务器迁移任务时,可能出现流量中断(例如单向下载、推送类型的流量)。所以后端服务器迁移完成后,需要通过报文重传来恢复流量。
开启“获取客户端IP”
- 进入弹性负载均衡列表页面。
- 在弹性负载均衡列表页面,单击需要修改监听器的负载均衡名称,进入监听器列表页。
- 您可以通过以下两种操作入口,开启监听器的“获取客户端IP”功能。
- 在目标监听器所在行的“操作”列,单击“编辑”。
- 单击目标监听器名称,进入监听器的基本信息页面,单击“编辑监听器”。
- 在“编辑监听器”弹窗页面,开启“获取客户端IP”开关。
- 确认相关信息,单击“确定”。
开启“获取客户端IP”功能后,您还需设置后端服务器的安全组、网络ACL、操作系统和软件的安全规则,使客户端的IP地址能够访问后端服务器。
关闭“获取客户端IP”
- 进入弹性负载均衡列表页面。
- 在弹性负载均衡列表页面,单击需要修改监听器的负载均衡名称,进入监听器列表页。
- 您可以通过以下两种操作入口,关闭监听器的“获取客户端IP”功能。
- 在目标监听器所在行的“操作”列,单击“编辑”。
- 单击目标监听器名称,进入监听器的基本信息页面,单击“编辑监听器”。
- 在“编辑监听器”弹窗页面,关闭“获取客户端IP”开关。
- 确认相关信息,单击“确定”。
其他获取客户端真实IP方法
负载均衡的监听器还可通过如下补充方法获取客户端的真实IP,详情见表2。