我对CDN的世界有点新鲜。 我也在运行一个国际站点,我们希望有一天会有大量的stream量,但现在滴入。站点使用CDN背后的图像缩放器来为大多数图像提供服务。
问题是,我们从Cloudfront(大约25%)得到了很多的错误,我不清楚为什么 – 由于没有新的照片或新的尺寸,我认为几乎不会被称为起源。
一开始产地没有发出到期时间,4月8日我又加了一周没有效果。
为什么来源经常被查询?

首先,我假设你有一个自定义的起源,并且它是一个像nginx这样的web服务器,它提供了像“expires 1w”这样的设置。 也知道你收到的stream量也可能影响命中与未命中的比率。
对于初学者,您需要了解Cloudfront如何将您的对象视为您的来源。 我使用Chrome Devtools加载对象并查看标题(F12,重新加载浏览器,单击“networking”选项卡,单击资产,查看“标题”子标签)。 您可能会看到类似于以下内容的内容,我已将其修改为相关的字段:
Age: 1091 Cache-Control:max-age=604800 Cache-Control:public Date:Thu, 10 Jul 2015 19:35:35 GMT Expires:Thu, 17 Jul 2015 19:35:35 GMT Last-Modified:Tue, 16 Jun 2015 18:00:59 GMT X-Cache:Miss from cloudfront
类似上述意味着Cloudfront每周都会检查新内容,这正是您想要的。 但是,如果您看到date和过期之间的最大年龄或更长或更短的date范围,则Cloudfront将通过不同的日程安排进行检查,这可能会导致更多的电话回到您的来源。
如果是这样,我的第一个想法是,你说你最初有不同的到期时间,但你然后改变了一个星期。 我相信,如果您更改了来源的到期时间,但是您至less不“触摸”您的文件以更新其修改date,那么Cloudfront将不会更新您的新到期时间。 您可以将其设置为1年,但如果资产仍然与以前相同,则Cloudfront将继续检查它们是否在最初加载时到期。