AWS应用程序负载均衡器是否支持代理协议?

14

AWS的老版本的“经典”负载均衡器具有设置代理协议策略的功能,该策略将请求的外部IP地址添加到HTTP头中以供内部请求使用。

AWS的新版应用程序负载均衡器似乎没有这个功能。这是正确的吗?还是可以启用此功能?

如果不能选择这个选项,那么回退到经典负载均衡器是否可行?我感觉现在推动使用新版负载均衡器类型,所以对经典方法过于依赖可能不明智。

1个回答

13

Proxy Protocol头部帮助您在负载均衡器使用TCP进行后端连接时识别客户端的IP地址。

Proxy Protocol工作在L4(TCP)层,而应用程序负载均衡器仅在L7层上工作。ALB仅支持HTTP/HTTPS监听器。

这就是为什么Proxy Protocol存在于经典ELB中,但不存在于ALB中的原因。

关于第二个问题,使用哪种负载均衡器取决于使用场景,您可以阅读这个线程,以了解每个CLB升级到NLB/ALB的情况。

希望这有所帮助!


谢谢Kush,这很有道理。看起来NLB有真实的IP,但没有与证书管理器的任何集成 - 这是否符合您的理解? - pat
1
仅对 Kush 的答案稍作解释:经过我的进一步调查,虽然 Proxy Protocol 和其他 ELB 策略不能与 ALB 一起使用,但实际上 ALB 确实会通过 X-Forwarded-For 标头发送(由于我没有正确显示标头的内部服务,因此我寻找另一种方法)。 - pat
1
@pat 你知道ALB是否支持解析代理协议头并将其转换为X-Forwarded-For吗?(我们在边界处有NLBs,通过Fortitate FW实例传递,然后命中调用我们的应用程序的ALBs) - Peter McEvoy
@PeterMcEvoy 我不知道。恐怕我之前在做的项目已经停止运行了,所以我手头没有任何可以测试的东西。 - pat

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接