0

有没有人遇到过 Amazon Cloudfront 似乎拒绝缓存少量静态对象的问题?

我曾多次尝试使缓存(根路径)无效,但无济于事。

我查看了相关对象的文件权限,它们似乎一切正常。

我也进入了亚马逊控制台,没有记录任何错误。

您可以在此处查看更多详细信息:

http://www.webpagetest.org/performance_optimization.php?test=171106_A4_be80c122489ae6fabf5e2caadcac8123&run=1#use_of_cdn

我的网站使用的是运行 Apache 的 Processwire 3 和一个名为 Procache 的 PW 缓存产品。

4

1 回答 1

2

您的问题之一是您没有利用对象上的缓存控制标头。这就是您看到该消息的原因No max-age or expires。查看此链接以了解有关 Cache-Control 和 Expires 的更多信息。注意:即使您不使用 CloudFront,您也应该使用这些标头,因为浏览器也会缓存某些对象。

使用标头控制单个对象的缓存持续时间

您没有指明您使用的是什么 Web 服务器。我提供了一个链接,用于设置 Apache mod_expires 以将缓存控制标头添加到您的对象。

Apache 模块 mod_expires

对于 css、js、图像等静态资产,我将设置 S3 并通过 CloudFront 从 S3 提供这些对象。您可以控制 S3 对象的标头。

上述步骤将改进 CloudFront 和用户浏览器缓存中的对象缓存。

于 2017-11-06T15:59:56.083 回答