amazon-web-services - 通过 API-Gateway 在 S3 上访问 Webapp(HTML、JS、CSS)
问题描述
我可以通过 API-Gateway 访问我的 webapp 的 index.html,但它如何使用存储在同一个 S3-Bucket 中的 JS 和 CSS 文件?
解决方案
至少有以下三种方法:
- aws-serverless-express将允许您通过 Lambda 提供 express api,它可以与 API Gateway 集成。您可以使用这种方法通过
express.static
from express 静态地为 ui 应用程序提供服务。这样,您根本不需要 S3,您可以为静态站点或非静态服务器端渲染提供服务。 - 同样,使用 aws-serverless-express,但这次创建一个使用aws-sdk调用 S3 的 express 服务。
- 第三个选项是您可以将 API Gateway 设置为使用 S3 代理,如下图所示
可能还有其他方法可以使用 Cloudfront 或 Route 53 进行编排而不是 API 网关,特别是如果您可以在不同域上拥有 UI 和后端,那么您允许一些 CORS 请求。我个人更喜欢方法#1,因为基础设施更简单。
推荐阅读
- c++ - OpenMP 并行化 std::next_permutation
- acumatica - 批准时间活动中未显示活动
- python - 无法创建新连接节点 JS RethinkDbDash
- python - 使用 ffmpeg-python 设置转换后的输出文件的帧率
- python - 从熊猫数据框中获取索引值
- java - 如何使用 Android Studio 在 Android 10 中将文件写入外部存储
- reactjs - React Props 不会更新状态
- javascript - 使用 AES-128-ECB 方法在 Java 中加密并在 PHP 中解密
- javascript - 尝试在浏览器中的 html 文件中加载 functions.js 文件时出现 GET 404 错误(*使用节点 js 作为服务器)
- swift - App中同种语言的冗余外观