没有在Cloudfront上更新CSS文件

一直有这个问题,我的网站不显示更新的CSS文件。

上次我遇到这个问题时,我最终删除了我的S3存储桶和CloudFront发行版,并重新创build了全新的存储桶和发行版。 现在问题重新出现。 每当我对网站的CSS文件进行更改时,CloudFront上的文件都不会更新。 如果手动键入文件path,我可以看到CSS文件已经在S3存储上更新,但不在CloudFront端。

因此,来自S3的文件在CloudFront上不同步。 任何帮助表示赞赏。 现在我可以使网站正确显示的唯一方法就是closuresCDN / CloudFront。

我使用的是W3 Total Cache插件的Wordpress 2.9。 我不认为Wordpress和Total Cache插件存在问题,因为他们的工作是将更新后的CSSfile upload到S3存储中。

我确实试着等待~24小时,也许这是一个caching问题,但显然不是。

谢谢。

如果其他人有同样的问题,这里是如何解决它。

这是我的网站目前运行的方式:

Pair.com网页寄存 – > Amazon S3 – > Amazon CloudFront(CDN)

WordPress安装在Pair.com的托pipe。 当我进行更改时,W3TC插件将更新S3服务器上的文件。 否则,您也可以使用Amazon Web Services的Web控制台或第三方程序(我使用S3 Organizer)将文件手动上传到S3服务器。 问题是何时更新CloudFront中的相同文件。 没有人工的方式,CloudFront每24小时只更新一次。

您可以做的是将无效请求发送到CloudFront。 接受失效请求后,从S3中取出新版本文件,解决问题。

最简单的做法是使用第三方S3探索者。 目前,只有Bucket Explorer和CloudBerry才有这个function。 如果你想在没有这些程序的帮助下做到这一点,这里是一个在Amazon.com的文档,将教你如何做到这一点: http : //docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/Actions_Invalidations.html

CraigH @ AWS表示,他们正在努力将Invalidation命令实施到AWS Web控制台中,但function将在线时没有确切的date。