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

AWS执行-APIendpoint请求超时/拨号tcp I/O超时

马弘和
2023-03-14

我已经创建了一个execute-apiendpoint,并将443端口添加到安全组中。我还禁用了私有DNS名称,但仍然得到一个“endpoint请求超时”/拨号tcp 52.28...:443:I/O超时错误。我还用postman测试了我想要访问的API,它按预期工作。我错过了什么。

共有1个答案

姚晋
2023-03-14

默认情况下,VPC中的lambda没有公共internet访问权限。

您可以选择的一个方法是在部署的子网中设置NAT网关lambda以允许它访问internet,从而访问公共REST API。此处更多->lambda函数的Internet访问

AWS Lambda使用您提供的VPC信息来设置允许Lambda函数访问VPC资源的ENI。每个ENI都从您指定的子网内的IP地址范围中分配一个私有IP地址,但没有分配任何公有IP地址。因此,如果您的Lambda功能需要Internet访问(例如,访问没有VPCendpoint的AWS服务),您可以在VPC内部配置NAT实例,或者使用Amazon VPC NAT网关。有关更多信息,请参阅Amazon VPC用户指南中的NAT网关。您不能使用连接到VPC的Internet网关,因为这要求ENI具有公共IP地址。

或者您可以在这里查看->为什么我不能从API网关VPCendpoint连接到我的公共API。它暗示了这一点

使用curl命令行工具测试您的专用API。在curl命令中,包含用于调用API的基本URL,以及主机头或x-apigw-api-id头。有关更多信息,请参见使用endpoint特定的公共DNS主机名调用专用API。

调用API的基本URL包括DNS名称和阶段名称。如下所示:https://vpceid.execute-api.awsregion.vpce.amazonaws.com/stageName

注意:用复制的VPCendpointID替换vpceId。将awsRegion替换为您的专用API的AWS区域(例如,us-east-1)。将stageName替换为API部署到的阶段的名称。

主机标头如下所示:

主机:apiid.execute-api.awsregion.amazonaws.com

 类似资料:
  • Python请求从以下URL的AWS Lambda超时。 工作url-https://support.oneskyapp.com/hc/en-us/article_attachments/202761627/example_1.json 下面是我正在使用的代码。 我的Lambda使用的是Python3.7运行时,不与任何VPC关联,并且超时设置为1分钟。我试着用Lambda执行超时5分钟,还是没有

  • 当没有响应返回时,我需要超时我的RESTAPI。例如,当我发出请求时,如果返回响应需要5秒钟以上,则超时。 为了实现这一点,我选择了使用Hystrix的断路器。但我不确定这是否是解决此问题的正确方法,如果一切都好,是否应该对Hystrix进行更多配置? 我当前的实现看起来像, 主类 RestController 应用程序属性 当超时时,它抛出一个HystrixRunTimeException,并由

  • Middleware: 请求超时 请求超时控制也是不可或缺的中间件: <?php class RequestTimeout implements Middleware { public $timeout; public $exception; private $timerId; public function __construct($timeout, \Ex

  • 我需要在我的AWS Lambda项目中使用Firebase AdminJava,但是当Firebase Auth Admin试图在谷歌服务器中获取公钥时,会抛出一个。我知道Firebase Admin配置正确,因为我可以在Tomcat实例中本地运行它,不用担心。 然后我尝试向测试API发出HTTPS请求,比如

  • 问题内容: 我正在运行golang http客户端以对服务器进行压力测试。有时我收到错误“拨号tcp 161.170.xx.xxx:80:操作超时”错误。 我认为这是HTTP客户端超时。我正在考虑基于增加超时值,但是我想先找出golang中的默认超时值是多少。如果它取决于操作系统而不是语言,那么如何在Mac OS中检查此值? 问题答案: 根据http://golang.org/pkg/net/#D

  • 当我调用restendpoint(rest模板http客户端)“myservice..com/rest/api/”时,有时会出现以下错误。此错误的原因是什么?这是客户端还是服务器错误?