javascript - AWS S3 静态站点可以访问 VPC 中的 REST API 吗?

标签 javascript amazon-web-services amazon-s3 vpc

我已经通读了几页文档和其他 StackOverflow 问题/答案,但似乎没有找到任何可以帮助我解决我的场景的内容。

我在 S3 存储桶中托管一个公共(public)静态站点。该站点对我在 VPC 中的 EC2 实例中托管的 API 进行了一些调用。因此,我的 API 只能被同一 VPC 中的其他实例和服务调用。

但我不确定如何允许 S3 Bucket 站点访问我的 API。

我已经尝试创建 VPC 端点并沿着这条路走下去,但所做的只是限制只能从我的 VPC 中的实例访问我的 S3 站点(这不是我想要的)。

如果您对此有任何帮助,我将不胜感激,非常感谢。 希望我的问题很清楚。

最佳答案

不,S3 静态网站是 100% 的客户端代码。所以它基本上只是 html + css + javascript 被交付,原样来自 S3。如果您想将动态内容添加到您的网站中,您需要考虑调用可从用户浏览器(即从互联网)访问的 API。

AWS API Gateway with Private Integrations可用于接受传入的 REST 调用并将其发送到 VPC 中的 EC2 服务器。

我将动态数据添加到 S3 静态网站的首选解决方案是使用 API 网关和 AWS Lambda 来创建无服务器网站。这最大限度地降低了运行成本、维护成本,并允许快速部署。参见 The Serverless Framework启动并运行此解决方案。

关于javascript - AWS S3 静态站点可以访问 VPC 中的 REST API 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52482230/

相关文章:

javascript - 在 workligth JSONStore 中几乎同时保存多次

amazon-web-services - 是否可以在AWS ECS上定义任务超时?

java - Amazon S3 和 Java 中的音频文件

php - JMESPATH 可以执行 "contains X or Y"搜索/过滤吗?

amazon-web-services - 使用 Boto3 客户端与资源时的约定是什么?

security - 亚马逊网络服务 : Setting S3 policy to allow putObject and getObject but deny listBucket

javascript - HTML::添加输入标签的链接

javascript - 加载前调整图像大小 - jquery

javascript - 使用 eval 执行函数

amazon-web-services - 未调用 AWS API Gateway 自定义授权方