我创建了一个 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 地址:
但我没有看到 ipv4 地址。
我还需要同样的功能将客户端的 IP 地址传递给我的 Lambda API REST 函数。 经过一些时间研究后,我找到了一个也适合您的解决方案。
这是我在 LinkedIn 上撰写的解决方案/文章的网址:https://www.linkedin.com/pulse/how-receive-clients-ip-address-aws-lambda-rest-api-nalin-jayasuriya-ykbmf