【发布时间】:2021-06-14 20:07:02
【问题描述】:
对于在 ECS Fargate 上运行的应用程序,我从 Application Load Balancer 切换到 Network Load Balancer,因为我的应用程序需要静态 IP 地址。
现在我无法从 X-Forwarded-For 或 X-Real-Ip HTTP 标头获取源/客户端 IP 地址。在这两个标头中,我都获得了私有 IP。在Application Load Balancer 上,我能够从X-Forwarded-For 标头获取客户端IP。
Documentation here 表示 NLB 保留源 IP 地址。
我还不能解决这个问题。我可能做错了什么?
如果使用网络负载均衡器无法做到这一点,鉴于我的应用程序在 AWS ECS-Fargate 上运行,我该如何实现以下目标:
拥有静态 IP(例如用于 A 记录、IP 白名单等)
可以提取客户端 IP 地址(例如,用于使用 GeoIP 等的基于区域的业务逻辑)
【问题讨论】:
-
@Paul 非常清楚地描述了为什么无法使用 NLB 从
X-Forwarded-For标头中提取客户端 IP,更新了我的问题,希望找到解决我的两个目标的方法。
标签: amazon-web-services amazon-ecs amazon-elb nlb