当前位置: 首页 > 知识库问答 >
问题:

使用AWS api网关+lambda+Nodejs的私有和公共ip

陶朝明
2023-03-14

但当我通过api Gateway+lambda+NodeJSV8部署我的api时。我已经解决了用于调试的nodejs处理程序函数参数(https://y0gh8upq9d.execute-api.ap-south-1.amazonaws.com/prod)的JSON for event and context varaibles。

lambda函数是

const AWS = require('aws-sdk');
exports.handler = function(event, context, callback){
    callback(null, {
        "statusCode": 200,
        "body": JSON.stringify({event,context})
    });
}

API网关详细信息

使用Lambda代理集成--真

函数API:https://y0gh8upq9d.execute-api.ap-south-1.amazonaws.com/prod

共有1个答案

淳于煌
2023-03-14

情况1:由于安全原因,您无法获得用户的私有IP(如果由用户配置,这将通过NAT或PAT(网络地址转换或端口地址转换在屏幕后面。NAT将在他的表中添加此IP并提前发送请求,其中包含公共id或可以说是router-id)。

情况2:如果这里您的私有ip意味着多个用户使用同一公共网络(WIFI等)。然后,您也可以定义两个ip,一个是公共ip,这对所有人都是通用的,但在该公共网络中,它们有另一个ip,这是在该公共网络中唯一的。

例如:假设有公共IP(1.1.1.1)的WIFI。它有两个用户A和B。值得注意的是,由于他们共享同一个WIFI,因此路由器将只有一个IP(公共的和通用的),但在此路由器内,A和B将有不同的IP,如192.1.1.1和192.1.1.2,可称为私有的。

在这两种情况下,您将只获得公共IP(位于X-forward-for头中的位置0)。

您可以在Event.Headers.MultiValueHeaders中获得X-forward-for头。

如果您可以同时访问这两个IP,那么拥有私有IP和公有IP有什么好处呢?

 类似资料:
  • 是否有人在VPC的公共子网中配置了NLB以将流量路由到私有子网中的EC2实例? 使用ELB时,一个好的解决方案是为ELB创建一个安全组,然后为私有EC2实例创建另一个安全组,允许来自该ELB安全组的传入流量,如下所述: https://aws.amazon.com/premiumsupport/knowledge-center/public-load-balancer-private-ec2/ “

  • 我们正在尝试从C#Windows服务调用AWS API网关来执行后台作业。哪个应该触发API网关定期初始化请求? 我们使用RestSharp调用APIendpoint,该类称为AwsAuthenticator,它继承自RestSharp.Authenticators.IAAuthenticator。但当我们调用API Gateway时,收到的错误是“我们计算的请求签名与您提供的签名不匹配。请检查您

  • 如何在Kotlin中创建一个具有私有getter(或只是没有)但具有公共setter的属性? 不能使用错误: 在我的例子中,原因是Java Interop:我希望我的Java代码能够调用,但不能调用。

  • 我有一个lambda到一个私有子网(为了发出一个外部post-https请求),我需要从dynambodb表触发它。然后我必须把项目放到dynamodb上的另一个表中。如果我将lambda放入私有子网,则触发器不起作用,如果我将其放入公共子网并调用位于同一专有网络但位于私有子网的lambda,则调用超时。如何将lambda从私有子网连接到公共子网,以完成来自dynamo的触发器任务,发布外部api

  • 我正在使用API网关和AWS Lambda与另一个AWS Lambda函数进行交换。 我应该在初次请求插入数据后发送响应,无论是成功还是失败。我正在使用API网关的特定路由。 结构是这样的: 现在我不断得到502畸形Lambda代理响应,这在我的API测试日志中: 问题是我返回了一个真实的回应。如前所述,我将API网关与lambda API一起使用,这是一个处理API网关路由(如Express)的

  • 问题内容: 什么时候以及为什么要在类中使用,和函数以及变量?它们之间有什么区别? 例子: 问题答案: 你用: 范围,以使该属性/方法可从任何位置,对象的其他类和实例使用。 当您希望您的属性/方法仅在其自己的类中可见时。 要使属性/方法在扩展当前类的所有类(包括父类)中可见时显示范围。 更多:( 有关全面信息) PHP手册-可见性