【发布时间】:2021-06-22 22:00:43
【问题描述】:
我需要提供带有多个资产(html、css、js 和其他资产文件)但条件不同的静态 HTML 页面:
- 无服务器(必须在 S3 上)
- 可以处理带有多个页面的多个静态页面和其他静态资源,如 css、js、图像或字体文件。 (见下面的例子)
- 有一个过期 - 目标是用户不能共享静态 HTML 页面的限时 URL
以下是我所有的想法(如果我错了,请纠正我):
- 直接在 Web 级别呈现 - Web 支持呈现特定资产,但无法创建用于加载所有资产的新页面
- 在 S3 级别上提供服务 - 问题是您如何授权具有限时访问多个文件的用户?
- 预签名 URL? - 预签名 URL 仅对一个对象有效。
- 在 S3 存储桶上存储并在 CloudFront 上服务 - S3 级别的相同问题。您如何授权具有限时访问多个文件的用户?
- 在 S3 级别公开服务 - 每次用户请求访问时,将所有文件复制到一个新的公用文件夹(具有过期),公开服务并将新 URL 提供给用户。
- 可能很慢?可能很昂贵?
#example file structure
.
+-- index.html
+-- media
| +-- banner.jpg
| +-- video.mp4
+-- styles
| +-- main.css
+-- js
| +-- main.js
+-- about.html
+-- contact.html
任何意见和建议将不胜感激。
【问题讨论】:
标签: amazon-web-services amazon-s3 amazon-cloudfront