5

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 に遭遇しないようにするために、ここで何か不足していますか?

4

1 に答える 1

0

ちなみに、Amazon CloudFrontは、同じファイルの「バージョン」を提供してファイルを明示的に無効にするか、あきらめて新しい名前を使用する必要があります。早期削除はコストがかかるように見え、請求されます。

manifest.jsonAWSコンソールからアップロードして、同じファイルに新しいバージョンを設定してみてください。ファイルを削除せずにCloudFrontエンドポイントを更新します。

出典:http ://aws.amazon.com/en/cloudfront/ (オブジェクトのバージョン管理とキャッシュの無効化のトピック)

于 2013-03-21T06:32:32.253 に答える