获取客户端IP功能

监听器开启“获取客户端IP”功能后,负载均衡器和后端服务器之间直接使用真实的IP进行通信。

独享型负载均衡和应用型负载均衡(共享型)默认开启“获取客户端IP”功能,不支持关闭。

网络型负载均衡(共享型)支持开启或关闭“获取客户端IP”功能。

约束与限制

开启“获取客户端IP”之后,不支持同一台服务器既作为后端服务器又作为客户端的场景。

如果后端服务器和客户端使用同一台服务器,且开启“获取客户端IP”,则后端服务器会根据报文源IP为本地IP判定该报文为本机发出的报文,无法将应答报文返回给ELB,最终导致回程流量不通。

开启/关闭“获取客户端IP”的过程中,如果监听器已经添加了后端服务器,则访问监听器的流量会中断,中断时间为10秒(后端服务器组配置的健康检查间隔*2)。

如果监听器之前已经添加了后端服务器、并且开启了健康检查功能,开启“获取客户端IP”功能会重新上线后端服务器,新建流量会有1-2个健康检查间隔的中断。

开启获取客户端IP

1、登录管理控制台。

2、在管理控制台左上角单击图标,选择区域和项目。

3、单击页面左上角的,选择“网络 > 弹性负载均衡”。

4、在“负载均衡器”界面,单击需要修改监听器的负载均衡名称,进入监听器列表页。

5、您可以通过以下两种操作入口,开启监听器的“获取客户端IP”功能。

在目标监听器所在行的“操作”列,单击“编辑”。

单击目标监听器名称,进入监听器的基本信息页面,单击“编辑监听器”。

6、在“编辑监听器”弹窗页面,开启“获取客户端IP”开关。

7、确认相关信息,单击“确定”。


其他获取客户端真实IP方法

四层(TCP/UDP)监听器:支持配置TOA插件获取。

七层服务(HTTP/HTTPS)监听器:需要对应用服务器进行配置,然后使用X-Forwarded-For的方式获取来访者的真实IP地址。

负载均衡常见问题

复制镜像常见问题

  • 如何获取来访者的真实IP?

    当客户端通过ELB访问后端服务器时,客户端真实的IP地址会被ELB转换,后端服务器获取到的往往是ELB转换后的客户端IP地址。如果需要获取到客户端的真实IP,可以按如下方法操作。

    七层服务(HTTP/HTTPS协议):需要对应用服务器进行配置,然后使用X-Forwarded-For的方式获取来访者的真实IP地址。

    四层服务(TCP/UDP协议),有两种方式可以获取客户端的真实IP:

    方法一:开启监听器的“获取客户端IP”功能。

    方法二:配置TOA插件获取。


  • 如何配置健康检查异常必需的安全组规则

    ELB的健康检查通过向后端服务器发起心跳检查的方式来实现。独享型负载均衡在检查过程中使用ELB所在的VPC地址通信;共享型负载均衡在检查过程中使用内网地址100.125.0.0/16通信。

    对于独享型负载均衡,为确保健康检查正常进行,您需要确保服务器已经放通ELB所在的VPC网段,使得ELB能够正常访问到后端服务器。

    对于共享型负载均衡,为确保健康检查正常进行,您需要确保服务器已经放通100.125.0.0/16网段的地址,使得ELB能够正常访问到后端服务器。

  • ELB支持什么类型的会话保持?

    独享型负载均衡器支持源IP地址、负载均衡器cookie两种会话保持类型。

    共享型负载均衡器支持源IP地址、负载均衡器cookie、应用程序cookie三种会话保持类型。

  • 长连接和会话保持区别是什么?

    长连接和会话保持没有必然联系。

    长连接是指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。会话保持是指弹性负载均衡将属于同一个会话的请求都转发到同一个服务器进行处理。

  • 如何检查弹性负载均衡会话保持不生效问题?

    查看后端服务器组上是否开启了会话保持。

    查看后端云服务器的健康检查状态是否正常,如果异常,流量会切换到其他后端云服务器,导致会话保持失效。

    如果选择的是源IP算法,需要注意请求到达弹性负载均衡之前IP是否发生变化。

    如果是HTTP或HTTPS监听器,配置了会话保持,不用观察session是否丢失,而需要注意发送的请求是否带有cookie,如果带有cookie,则观察该cookie值是否发生了变化(因为7层会话保持基于cookie)。

  • 弹性负载均衡如何支持多证书?

    HTTPS监听器支持配置多个证书,您可以通过开启SNI配置单个HTTPS监听器绑定多个证书,实现同一个监听器根据多个域名选择证书来完成HTTPS认证和访问后端的诉求。