8

私はRails 3.2をassets_syncで実行しています。

css と js の gz バージョンが作成されます。ヘッダーが gzip,deflate を要求したにもかかわらず、CloudFront が gzip バージョンを提供していません。

私も試してみconfig.gzip_compression = trueましasset_sync.rbたが、CloudFront はまだ圧縮されていないバージョンを提供しています。アクセスできることを確認しましたABC.cloudfront.net/XYZ.css.gz

4

2 に答える 2

4

CloudFront ディストリビューションのオリジンは S3 バケットですか? Accept-Encodingsその場合、問題は S3 がヘッダーを正しく処理しないことです: https://github.com/rumblelabs/asset_sync/issues/153

その問題で概説されているいくつかの潜在的な解決策があります。ほとんどのブラウザー (一部のモバイル ブラウザーを除く) で正しく処理されるため、デフォルトで gzip 圧縮されたファイルを提供するか、ここで概説されている解決策を試すことができます。

別の可能な解決策は、Varnish キャッシュ レイヤーを CloudFront ディストリビューションのカスタム オリジンとして使用することです。

インターネット -> CloudFront -> Varnish -> S3 バケット

CloudFront にリクエストが届くと、CloudFront にまだキャッシュされていない場合は Varnish に転送されます。Varnish は S3 バケットから圧縮されていないファイルを取得し、ヘッダーの指示に従って圧縮し、ファイルをキャッシュのために CloudFront に送り返します。

于 2013-03-04T19:13:36.273 に答える
1

アプリケーションの設定heroku config:add ASSET_SYNC_GZIP_COMPRESSION=trueはできましたか?

于 2013-02-26T20:03:11.203 に答える