如何设置具有基本身份验证/密码保护的 S3 支持的媒体服务器

如何设置具有基本身份验证/密码保护的 S3 支持的媒体服务器

要求

  • 提供存储在 S3 存储桶中的音频和视频
  • 使用基本身份验证(用户名密码)有选择地保护文件夹;
  • 尽可能降低延迟,但不是必须的
  • 成本也是一个因素,但愿意接受各种想法
  • 媒体团队上传新内容的方式。(对于 s3,他们需要手动公开每个文件)
  • 我们的团队非常小,资源有限

当前设置

  • 存储在 S3 存储桶中的数据
  • 在 EC2 实例内运行的网站
  • Apache2 服务器

我们的考虑

  • 在 apache 级别反向代理 s3 url,并在 apache 级别配置基本身份验证。但这需要将所有存储桶对象保持公开,然后应用存储桶策略,这已经失控了!

  • 完全阻止 S3 公共访问,然后使用 AWS PHP SDK 为锥形帐篷提供服务。然后让媒体团队从 AWS 控制台上传新内容。使用此选项不确定延迟会受到怎样的影响。

我们确信对于类似的要求会有一些好的解决方案,请为我们指出可行的解决方案,非常感谢。

编辑:目前,我们已将存储桶设为私有,并阻止所有公共访问。然后添加了存储桶策略,以仅允许公共访问我们的 EC2 实例,这样我们就实现了想要的目标。但仍然可以寻求一个完整的低延迟可行解决方案,我们可以朝着这个方向迈进。

答案1

您可能希望通过 S3 或 CloudFront 而不是 EC2 来提供静态网站。CloudFront 还允许您将存储桶设为私有。如果您需要动态站点,请仅在 EC2(或 Lambda 和 API 网关)上托管 API,然后从 S3 托管站点访问它们。

无论如何 - CloudFront 都会让您提供存储桶中的内容,同时保持存储桶的私密性,并提供良好的延迟等。

相关内容