使用Lambda函数URL时,event['requestContext']['identity']['sourceIp']的等效替代是什么?
Lambda函数URL获取源IP的方法
当使用Lambda函数URL时,源IP地址并不在request_context.identity中,而是位于request_context.http.source_ip字段里。
举个Python示例,获取方式如下:
def lambda_handler(event, context): source_ip = event['request_context']['http']['source_ip'] return { 'statusCode': 200, 'body': f"源IP地址:{source_ip}" }
另外需要注意,如果你开启了函数URL的CloudFront缓存,那么source_ip会显示CloudFront的边缘节点IP,而非客户端真实IP。这种情况下需要从请求头的X-Forwarded-For中提取真实客户端IP,格式通常是客户端IP, CloudFront节点IP,取第一个值即可。
内容的提问来源于stack exchange,提问作者Istvan
相关产品推荐
相关产品推荐

