首页 文章

AWS:源IP在实例中通过网络负载均衡器不可见

提问于
浏览
1

我有一个API网关,它通过VPC链接向网络负载均衡器(NLB)发送请求,然后将其转发到目标实例 . 根据AWS文档,当目标组是实例时,源ip被自由地传递给目标实例,但是如果通过ip地址然后是NLB ip地址 . 但是,即使目标组设置为实例,我仍然获得NLB IP地址 .

1 回答

  • -1

    如果需要source ip,可以将上下文变量 context.identity.sourceIp 映射到集成头docs . 您将能够在服务器中访问此标头 .

    NLB的文档指的是proxy protocol 2支持,它将允许您获取与nlb的连接的源ip . 这需要运行启用了代理协议的Web服务器(squid / nginx有一个标志来启用它) . 对于VPC链接,此IP与您的服务器请求的源IP不同,因为NLB实际上看到来自API网关的连接,因此在NLB上启用此功能将返回API网关的内部IP地址 .

    在招摇时,它看起来像

    ...
      "requestParameters" : { 
        "integration.request.header.x-source-ip" : "context.identity.sourceIp",                    
       }
    ...
    

相关问题