2

CloudFrontで新しい機能を使用したい場合は、Accept-Encoding:gzipヘッダーを使用してオンザフライでファイルをgzipできます。 Origin、Accept-Control-Request-Headers、Accept-Control-Request-Method(私はAngularJSを使用しています。OPTIONSメソッドのために必要です)をホワイトリストに入れました。私はS3バケツにCORSを設定していません。Amazon S3とCloudfrontはオンザフライでgzipしません

ドキュメントに記載されているように、Accept-Encoding:gzipヘッダーをリクエストに追加すると動作するはずです。しかし、私はまだ生ファイルを取得しています。

Response Headers 

Accept-Ranges:bytes 
Age:65505 
Cache-Control:public, max-age=31557600 
Connection:keep-alive 
Content-Length:408016 
Content-Type:text/css 
Date:Mon, 21 Mar 2016 16:00:36 GMT 
ETag:"5a04faf838d5165f24ebcba54eb5fbac" 
Expires:Tue, 21 Mar 2017 21:59:21 GMT 
Last-Modified:Mon, 21 Mar 2016 15:59:22 GMT 
Server:AmazonS3 
Via:1.1 0e6067b46ed4b3e688f898d03e5c1c67.cloudfront.net (CloudFront) 
X-Amz-Cf-Id:gKYTTq0cIcUvHTtlrdMig8D1R2ZVdea4EnflV0-IxhtaxgRvLYj6LQ== 
X-Cache:Hit from cloudfront 

Request Headers 

Accept:text/css,*/*;q=0.1 
Accept-Encoding:gzip, deflate, sdch 
Accept-Language:pl,en-US;q=0.8,en;q=0.6 
Cache-Control:max-age=0 
Connection:keep-alive 
Host: XXX.cloudfront.net 
Referer: XXX 
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36 

私の構成は次のとおりです。(asset_syncを使用して)ユニコーンの角を持つ

  • Railsの
  • nginxの
  • S3とCloudFrontを

答えて

3

お知らせこれら二つのレスポンスヘッダ。

Age: 65505 
X-Cache: Hit from cloudfront 

このオブジェクトは、この特定の時間を要求する前の65,505秒(約18時間)前の要求によってキャッシュされました。

特定のエッジでCloudFrontがオブジェクトをキャッシュすると、後でオンザフライで圧縮を有効にするように関連するキャッシュ動作を設定すると、CloudFrontは元に戻ってキャッシュ内のオブジェクトを再圧縮しません。それは追放されるまでオブジェクトの元のバージョンを提供し続けます。

この18時間の間隔が、配布時に圧縮を有効にした時間よりも長い場合は、それが表示されている可能性の高い説明です。

CloudFrontは、ファイルを元の場所から取得すると、各エッジ位置のファイルを圧縮します。コンテンツを圧縮するようにCloudFrontを設定すると、すでにエッジ位置にあるファイルは圧縮されません。さらに、ファイルがエッジ位置で期限切れになってCloudFrontがファイルの別の要求を元に転送した場合、CloudFrontは元のファイルがHTTPステータスコード304を返した場合にファイルを圧縮しません。ファイルのバージョン。 CloudFrontで既にエッジ位置にあるファイルを圧縮する場合は、それらのファイルを無効にする必要があります。

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html

、数分以内などのパス*(すべてをカバーするために)または/pathまたは/path*ちょうどこの特定のためinvalidation requestを提出することによって、あなたのためのすべてのキャッシュされたコンテンツを、あなたのディストリビューションのキャッシュからすべてを立ち退かせますあなたが*すべてを指定しなかった場合、または特定のパス一致の場合)は追い出されます(無効化が完了したことを示すまで待ち​​ます)。になります。

Age:(CloudFrontが特定のレスポンスのコピーを持っている期間)を監視し、一旦落ちてからリセットすると、あなたが期待していると思うと思います。

これで問題が解決しない場合は、そこに別の可能性はあるが、私はこれはかなり珍しい発生することを期待したい:まれに

、CloudFrontのエッジの位置が異常にビジー状態であるとき、一部のファイルが圧縮されないことがあります。これだけ

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html

+0

。 Reuploadはgzippedにしました。ありがとう! –

関連する問題