如何从AWS Lambda函数URL查看客户端的ipv4地址?

问题描述 投票:0回答:1

我创建了一个 Lambda 函数,该函数公开一个公共的、未经身份验证的 Lambda 函数 URL。如何查看客户端的ipv4地址?

特别是,我正在家里进行测试,我的 ISP 提供了 ipv4 和 ipv6 地址。当我访问 www.whatismyip.com 我看到了

我的公共 IPv4:50.68.XXX.XXX

我的公共 IPv6:2604:3d08:5a77:7300:60e9:xxxx:xxxx:xxxx

所以我认为我的lambda函数应该能够读取ipv4和ipv6地址(因为whatismyip.com能够做到这一点)

我试图通过创建以下 python lambda 函数来解决这个问题

def lambda_handler(event, context):
    return {
        'statusCode': 200,
        # dump whole event to see if the ipv4 address is there
        'body': event 
    }

当我访问函数 URL 时,我会返回整个事件,其中确实包含我的 ipv6 地址:

  • 事件['headers'][“x-forwarded-for”]
  • 事件['requestContext']['http']['sourceIp']

但我没有看到 ipv4 地址。

amazon-web-services aws-lambda
1个回答
0
投票

我还需要同样的功能将客户端的 IP 地址传递给我的 Lambda API REST 函数。 经过一些时间研究后,我找到了一个也适合您的解决方案。

这是我在 LinkedIn 上撰写的解决方案/文章的网址:https://www.linkedin.com/pulse/how-receive-clients-ip-address-aws-lambda-rest-api-nalin-jayasuriya-ykbmf

© www.soinside.com 2019 - 2024. All rights reserved.