Django Compressor语言 - CloudFront and manifest.json



我在让django压缩器与CloudFront一起工作时遇到了一些问题。我正在运行离线压缩命令来生成我的压缩文件和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?

按照Amazon CloudFront的工作方式,您需要通过提供同一文件的"版本"来显式地使文件无效,或者放弃并使用新名称。提前删除看起来成本高昂,而且需要付费。

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

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

最新更新