揭示AWS EC2负载均衡器背后的真实IP地址

我有一个networking应用程序,包含我有兴趣从互联网上阅读的事件。

为此,我有一个位于两个EC2实例之前的AWS EC2负载平衡器。 我有一个跟踪这两个服务器上的事件的应用程序。

设置可以像这样被显示:实例1和2 – >负载平衡器 – >事件监视器

我看到的问题是,每个事件似乎来自负载均衡器IP而不是来自EC2实例IP。 我确信,当负载均衡器转发stream量时,会将IP放在数据包上。

在负载均衡器的AWS中是否有一个设置可以更改为使用实际IP地址而不是负载均衡器IP来转发数据包?

我看到的问题是,每个事件似乎来自负载均衡器IP而不是来自EC2实例IP。 我确信,当负载均衡器转发stream量时,会将IP放在数据包上。

你确信这一点,因为是的,这正是负载平衡器devise工作的方式。

在负载平衡器的AWS中是否有一个设置,我可以更改为使用实际IP地址而不是负载均衡器IP转发数据包?

认为通过一分钟。 当然,一个LB理论上可以改变IP头,以便源IP匹配后端服务器。 但是,这有几个问题:

  1. 您的后端服务器具有专用IP。 你的客户将不能够击中。
  2. 当你的客户打你的ELB时,他们首先必须在任何HTTP发生之前站起来进行TCP连接。 所以他们有一个与ELB的TCP连接,而不是后端服务器。 因此,当客户端看到源IP不匹配当前连接的数据包时,将丢弃它。
  3. 您可能不想这样做,因为后端实例频繁更改,您的客户不需要担心,也不应该能够发现您的私有基础架构。

为什么你要这个呢? 如果你真的希望你的客户能够发现这些信息,你可以把私有IP放到客户端可以访问的HTTP响应头中。