Django Compressor - CloudFront和manifest.json

时间:2013-02-23 19:05:44

标签: amazon-cloudfront django-compressor

我在让django压缩器与CloudFront一起工作时遇到了一些麻烦。我正在运行offline compress命令来生成我的压缩文件和manifest.json文件。在此之后,我运行collectstatic将压缩文件上传到我的S3存储桶。

然后从CloudFront提供这些静态文件,因此我的设置如下所示:

STATIC_ROOT = ''
STATIC_URL = 'http://<my-cloudfront-domain>/somebucket/'

STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'

COMPRESS_OFFLINE = True

问题是,CloudFront正在提供旧版本的manifest.json,这意味着压缩器正在抛出一个OfflineGenerationError。

即使有一个缓存后端,我担心如果缓存服务器出于某种原因离线/刷新我的清单文件将是不正确的。

我在这里遗漏了一些东西以确保我没有遇到OfflineGenerationError吗?

1 个答案:

答案 0 :(得分:0)

顺便说一下,Amazon CloudFront的工作原理是,您需要通过提供同一文件的“版本”来显式无效文件,或者只是放弃并使用新名称。早期删除看起来很昂贵并且需要付费。

尝试从AWS控制台上传manifest.json并为同一文件设置新版本。它会在不删除文件的情况下更新CloudFront端点。

来源:http://aws.amazon.com/en/cloudfront/(对象版本控制和缓存失效主题)