从 3xx 重定向目标提取内容的 CDN?

从 3xx 重定向目标提取内容的 CDN?

将数据存储在 Amazon 的 S3 中。部分数据供公众查看,部分数据供私人查看。

我宁愿将 S3 中的所有内容标记为私有,并通过我的 Web 应用程序强制执行查看限制。S3 的 API 可让您生成一个签名的 URL,以便在有限的时间内访问私有数据。

我想要的是:

  • mycdn.com/public_content_a 的公开请求
  • CDN 边缘服务器联系 example.org/public_content_a,其 3xx 重定向至 s3.amazonaws.com/public_content_a
  • 未来对 mycdn.com/public_content_a 的请求将返回来自 S3 的缓存内容
  • 实际内容永远不会通过 example.org,只有重定向
  • 缓存过期时间过长

对于私人内容,情​​况会类似,只是我会将缓存过期时间设置得更早。

有可能实现这样的事吗?我能接近这个目标吗?

答案1

如果您正在设置拉取区域,您将能够定义源服务器。在这种情况下,您根本不会通过 CDN 使用 example.org。

mycdn.com将是源服务器的拉取区域,s3.amazonaws.com任何请求都mycdn.com将首先检查缓存内容。如果缓存已过期或不存在,则请求将从源服务器拉取并通过代理方式一次性传送给最终用户。

您的原始 URL 绝不会暴露给最终用户,因此您无需在中间设置 Web 应用程序或进行 300 重定向。

我曾经使用过的每个带有拉取区域的 CDN 都是这种情况。

相关内容