首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用AWS网关私有,不能从前端访问,但EC2工作

调用AWS网关私有,不能从前端访问,但EC2工作
EN

Stack Overflow用户
提问于 2021-02-08 23:14:05
回答 1查看 676关注 0票数 1

我正试图从部署在net::ERR_NAME_NOT_RESOLVED.实例上的API网关私有程序中调用一个API网关私有,我得到了:POST

以下是条件:

  1. OK -私有API网关与VPCE (VPCE)相关联,以访问和调用Lambda (在VPC中)

  1. OK -API方法调用Lambda (VPC)

的后测试

  1. OK -来自EC2实例命令行的POST测试,这里是curl命令的示例:

curl --位置--请求发布“https://abcdefghi0123456.execute-api.us-west-2.amazonaws.com/stage/

-标题‘内容-类型:应用程序/json’

-数据-raw '{ "my_key":"my_value“}'

  1. 错误- React构建中部署在同一个EC2实例

中的帖子

注意:

  • OK -调用AWS公共API网关

  • --附于专用API网关的策略示例:

{“版本”:"2012-10-17",“声明”:{“效果”:“拒绝”,“主体”:"",“操作”:“执行-api:调用”,“资源”:"arn:aws:execute-api:us-west-2:123456789123:abcde1abc2///",“条件”:{ "StringNotEquals":{“StringNotEquals”:{“StringNotEquals:sourceVpce”:“vpce-0abc 12d345e8901”} },{“效果”:“允许”,“主体”:"",“操作”:“执行-api:调用”,“资源”:"arn:aws:execute-api:us-west-2:123456789123:abcde1abc2///“}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-08 23:31:05

您的ReactJS无法工作,因为调用API的JavaScript代码在客户端(如web浏览器)上执行。

这就要求公共API网关可以在互联网上工作,而不是私有的,它只在VPC中有效。私有API将只在实例上执行的后端代码中工作,正如您使用curl验证的那样,它不能在互联网上被调用。随后,它将无法在客户端工作。

要使您的API网关可以从客户端调用,必须将其更改为公共API。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66110741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档