当前位置: 首页 > 面试题库 >

如何通过Amazon API Gateway + Lambda(节点)检索用户的公共IP地址

伯丁雷
2023-03-14
问题内容

我目前正在编写一个Node.js lambda函数,我想在其中记录传入请求者的公共IP地址。我整天都在浏览API网关和Lambda文档,但没有找到解决方案。

lambda event对象是否包含可用于提取用户IP的请求元数据?


问题答案:

这是$context.identity.sourceIp在Lambda函数中使用API​​网关的简单演示。

API映射模板:

{
    "sourceIP" : "$context.identity.sourceIp"
}

Lambda函数:

'use strict';
console.log('Loading function');
exports.handler = (event, context, callback) => {
    console.log('SourceIP =', event.identity.sourceIP);
    callback(null, event.identity.sourceIP);
};


 类似资料:
  • 在Cloudfront的帮助下使用自定义策略创建SignedURL,并在策略中添加客户端IP和过期日期限制。为了测试我的代码,我在java代码中硬编码了我的公共ipv4。我如何动态地做到这一点。我创建了一个程序

  • 问题内容: 如何确定控制器中给定请求的IP地址?例如(快递): 问题答案: 您的对象中有一个称为的属性,它是一个对象。net.Socket对象具有一个property ,因此您应该可以通过以下调用获取IP: 请参阅http和net的文档 编辑 正如@juand在评论中指出的那样,如果服务器位于代理之后,则获取远程IP的正确方法是

  • 我已经在本地机器上安装了Jenkins(ubuntu 19.10)。我可以使用或连接到Jenkins。但是,我无法使用我的公共ip地址连接到Jenkins!! 我试图通过以下方式解决这个问题: 修改。我修改HTTP_HOST为和 Jenkins档案中的JENKINS_ARGS是 JENKINS_ARGS=“--webroot=/var/cache/$NAME/war--httpPort=$HTTP

  • 问题内容: 我试图通过一个简单的SQL语句获取客户端的IP地址。我不想使用PHP或其他技术。仅纯SQL。当我使用 我懂了 当我使用 我懂了 但是我如何获得普通IP?非常感谢。 问题答案: 您将仅获得与MySQL通信的客户端进程的IP地址。假设这是您想要的: 将为您提供连接到当前连接上的mysql服务器的主机名(如果未启用名称解析,通常为IP地址)。

  • 问题内容: 我有一个从TCPListener.acceptTCP接受的TCPConn *。我只想获取IP地址(无端口信息)作为字符串或IP。什么是正确的方法(即最少的转换/字符串操作)? 问题答案: 要获得IP,作为IP对象,最直接的方法应该是 使用类型断言没有错,在这种情况下,这实际上是预期的。

  • 问题内容: 如何使用python2.7获取公共IP?不是私有IP。 问题答案: 当前有几种选择: ip.42.pl jsonip.com httpbin.org ipify.org 以下是可以利用上述每种方法的确切方法。 ip.42.pl 这是我找到的第一个选项。对于脚本来说非常方便,您不需要在这里进行JSON解析。 jsonip.com 似乎该域的唯一目的是返回JSON中的IP地址。 httpb