CDN 提供私有图像/视频

CDN serving private images / videos

我想知道 CDN 如何提供私人数据 - 图像/视频。我遇到了 this Whosebug answer 但这似乎是 Amazon CloudFront 特定的答案。

作为一个流行的示例案例,假设所讨论的问题是在 facebook 内部提供内容。因此,在单个用户级别和一组用户级别都有访问控制的内容。此外,还有一些可公开访问的数据。

服务对象的所有逻辑都在服务器上!

每个 CDN 的工作方式不同,因此除非您指定要查找的 CDN,否则很难分辨。

我相信这应该可行 - 所有请求首先到达主应用程序服务器。在确定是否允许访问后,可以显示重定向到 CDN 服务器或拒绝访问错误。

对 CDN 的第一个请求将转到应用程序服务器并验证访问权限。但是有一个问题 - 请记住这一点: 假设第一个请求成功,之后任何人都可以使用该 CDN URL 访问图像。我用 Facebook 用户上传的受限图像对此进行了测试,即使在我注销后,其他人也可以通过 CDN URL 访问它。因此,图像将在 CDN 缓存到期时间之前可以访问。