首页 > 解决方案 > 有什么办法可以限制某些用户从 s3 访问 cloudflare 缓存的视频

问题描述

假设我有一个教育应用程序,它从 s3 提供来自 cloudflare 缓存的视频(因为从 s3 直接访问会很昂贵)。那么有没有办法将这些视频仅提供给付费用户。? 签名的 url 很昂贵,因为我不能使用缓存。

标签: amazon-web-servicesamazon-s3cachingcloudflare

解决方案


使用 Cloudflare,可以通过多种方式支持此场景:

  1. 使用防火墙规则在请求上要求有效的 HMAC 令牌。您的应用程序将负责创建令牌。
  2. 使用Cloudflare Workers编写您自己的令牌身份验证逻辑,只允许付费用户访问视频。我推荐以下教程,它解释了如何处理身份验证(以 Auth0 为例)。Workers 还公开了一个Cache API,可用于微调缓存行为(如果需要)。
  3. 将视频从 S3 迁移到Cloudflare Stream。然后使用 Stream API 创建Signed URLs / tokens进行授权。

Cloudflare Stream 可能特别有趣,因为它还提供了一个用于上传视频的 API,这意味着大多数功能都可以使用并集成到您的应用程序中。


推荐阅读