某个应用程序需要客户端的 IP 地址,但现在它运行在 Application Load Balancer (ALB) 后面,因此所有请求看起来都来自同一个 IP。该应用程序必须保持水平可扩展性。最经济高效的解决方案是什么?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 修改应用程序以读取 X-Forwarded-For 标头,并处理该标头包含 IP 地址列表的情况。.
为什么这是答案
当应用程序位于负载均衡器(如ALB)之后时,负载均衡器会终止客户端连接并创建新的连接到后端实例。因此,后端实例看到的源IP地址是负载均衡器的IP,而不是客户端的真实IP。ALB会自动在HTTP请求中添加X-Forwarded-For标头,其中包含客户端的原始IP地址。修改应用程序以读取此标准标头是最经济高效的解决方案,因为它利用了ALB的内置功能,无需额外成本或复杂配置。 将应用程序从ALB中移除会牺牲水平可扩展性,因为所有请求将直接发送到单个或多个实例,而没有负载均衡器的分发能力。创建Classic Load Balancer虽然可以解决IP问题,但ALB提供了更高级的功能和更低的成本,且Classic Load Balancer也存在类似的问题,需要处理转发头。修改应用程序以读取自定义标头并更新客户端不切实际,因为客户端通常无法控制发送的HTTP标头,且需要大规模的客户端更新,成本高昂且复杂。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡