我已经通读了几页文档和其他 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/