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

AWS API网关在使用专用ip地址调用后端API时失败

严宏旷
2023-03-14

我已经使用AWS API gateway和资源carsGET方法创建了公共API。我还有后端API,/API/routing,托管在EC2 windows实例上。后端API只接受POST请求,并用于根据某些头值路由请求。

在集成请求中,我还设置了映射模板,这样它就可以将数据发布到api/routing

因此,carspublic API的集成请求如下所示

EC2实例的入站规则

问题
endpointURL正在使用EC2实例的私有ip。当我测试汽车api时,我得到错误

由于配置错误,执行失败:endpoint地址无效

如果我将Endpoint Url更改为使用公共IP地址,那么它可以按预期工作

最后,我想使用私有ip访问后端API。EC2实例是AWS创建的自由实例。

我知道,如果我有专有网络,那么在API网关中,我需要设置专有网络链接,但我没有创建任何专有网络。(除非aws默认创建一个)。

共有1个答案

童宏富
2023-03-14

找到了。创建VPC链接后,我仍然选择集成类型作为HTTP...应该是VPC链接

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

  • 我正试图从另一个AWS帐户中的lambda函数调用我的私有API网关。但我在进行调用时遇到了超时(实际上http调用只是被卡住了,并击中了我的客户端超时)。 在承载私有AWS帐户的AWS帐户中,我执行了以下操作*在API后面创建了我的私有API网关和lambda null null

  • 我希望在连接到wifi网络时,在运行我的应用程序的手机上获取用户的本地IPv4地址。使用以下代码: 我可以得到一些接近IPv4地址的信息,但与命令行中的IPv4地址相比,它并不完全相同。有更好的办法吗?我知道formatIpAddress已被弃用,但在我找到获取IPv4地址的方法之前,我暂时不太担心这个问题。 编辑: 我发现手机wifi设置中的ip地址是我在使用建议的解决方案获取ip地址时得到的。

  • 问题内容: 我想获取使用我网站的客户IP地址。我正在使用PHP superglobal: 但是我看到它不能使用此提供正确的IP地址。我得到了我的IP地址,发现它与我的IP地址不同,并且我还可以在某些网站上看到我的IP地址,例如: 我粘贴了提供PHP功能的IP地址,但是此网站未显示任何结果。这个问题是怎么发生的,如何获得客户端的IP地址? 问题答案: 获取访问者/客户的IP地址的最简单方法是使用或变

  • 我在一个私有子网中有一个lambda函数,我想通过创建一个API网关来调用这个lambda函数,并且这个API只能由公共子网中的特定EC2实例调用(私有子网和公共子网在同一个VPC中),而不能由其他任何人调用。 有人能指导/建议我如何处理这个问题吗。

  • 我的VPC中有Public和Pvt子网。我在Pvt子网上有一些运行在EC2上的服务,需要通过外部/移动资源访问。我如何做到这一点-是VPCLink和NLB的方式来做到这一点,还是任何其他方式,创建一些访问点在公共子网(??)。Lambda似乎是答案(现在AWS中几乎所有的东西)--甚至不确定那种访问对于Pvt子网中的资源是如何工作的。 同样,同一个Pvt子网可以访问外部资源(在AWS之外)-我如何