【发布时间】:2016-06-02 17:36:36
【问题描述】:
我正在为我正在开发的 Web 应用程序试验 AWS S3 和 CloudFront。
在应用程序中,我让用户将文件上传到 S3 存储桶(使用 AWS 开发工具包)并通过 CloudFront CDN 使其可用,但问题是即使文件已上传并在 S3 存储桶中准备就绪,它也需要大约CloudFront CDN url 中有 1 或 2 分钟可用,这正常吗?
【问题讨论】:
-
是的。跨边缘位置传播内容需要几分钟时间
-
@KhalidT。您对 CloudFront 工作方式的描述不正确。 S3 中的新文件在创建时不会传播到每个边缘位置。在第一次请求文件时,每个边缘位置都会获取一个文件并将其添加到边缘位置的缓存中。我建议您阅读此页面以了解 CloudFront(以及与此相关的大多数其他 CDN)的工作原理:docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/…
-
您是否有可能尝试从 CloudFront 请求文件在上传到 S3 之前?还是在上传完成之前?这会使缓存中毒几分钟,因为不存在的对象将被您发出过早的请求而短暂缓存。 CloudFront 绝对适合实时操作,您描述的行为只有一个原因。检查响应标头中的
Age:,它会告诉您缓存的响应已被缓存了多长时间。 -
对,但我想问的是您是否尝试下载 before 您尝试上传之前,在文件存在之前,因为如果您这样做了,那会导致您看到的.错误响应是否包含
Age:标头? -
它的谷歌浏览器! chrome.blogspot.com.au/2012/01/speed-and-security.html 在我按 Enter 之前它会在后台加载它。我实际上输入了 url 并等待文件完成上传(在另一个选项卡上)。你说的太对了!
标签: amazon-web-services amazon-s3 amazon-cloudfront