CDN ファイルの圧縮のトラブルシューティングTroubleshooting CDN file compression

この記事では、 CDN ファイルの圧縮に関する問題のトラブルシューティングについて説明します。This article helps you troubleshoot issues with CDN file compression.

この記事についてさらにヘルプが必要な場合は、いつでも MSDN の Azure フォーラムとスタック オーバーフロー フォーラムで Azure エキスパートに問い合わせることができます。If you need more help at any point in this article, you can contact the Azure experts on the MSDN Azure and the Stack Overflow forums. または、Azure サポート インシデントを送信できます。Alternatively, you can also file an Azure support incident. その場合は、 Azure サポートのサイト に移動して、 [サポートの要求] をクリックします。Go to the Azure Support site and click Get Support.

症状Symptom

エンドポイントの圧縮が有効になっているにもかかわらず、ファイルが圧縮されていない状態で戻されています。Compression for your endpoint is enabled, but files are being returned uncompressed.

ヒント

ファイルが圧縮されている状態で戻されているかどうかをチェックするには、Fiddler などのツールや、ブラウザーの開発者ツールを使用する必要があります。To check whether your files are being returned compressed, you need to use a tool like Fiddler or your browser's developer tools. キャッシュされた CDN コンテンツと共に返される HTTP 応答ヘッダーをチェックします。Check the HTTP response headers returned with your cached CDN content. 値が gzipbzip2deflate のいずれかである Content-Encoding という名前のヘッダーがある場合、コンテンツは圧縮されています。If there is a header named Content-Encoding with a value of gzip, bzip2, or deflate, your content is compressed.

Content-Encoding header

原因Cause

以下のような原因が考えられます。There are several possible causes, including:

  • 要求されたコンテンツが圧縮の対象ではありません。The requested content is not eligible for compression.
  • 要求されたファイルの種類の圧縮が有効になっていません。Compression is not enabled for the requested file type.
  • HTTP 要求に、有効な圧縮の種類を要求するヘッダーが含まれていません。The HTTP request did not include a header requesting a valid compression type.

トラブルシューティングの手順Troubleshooting steps

ヒント

新しいエンドポイントをデプロイする場合と同様に、CDN の構成の変更がネットワークを通じて反映されるまでには多少の時間がかかります。As with deploying new endpoints, CDN configuration changes take some time to propagate through the network. 通常、変更は 90 分以内に適用されます。Usually, changes are applied within 90 minutes. 今回初めて CDN エンドポイントの圧縮を設定した場合は、圧縮設定が確実に POP に反映されるように 1 ~ 2 時間の待機時間を検討してください。If this is the first time you've set up compression for your CDN endpoint, you should consider waiting 1-2 hours to be sure the compression settings have propagated to the POPs.

要求を確認するVerify the request

最初に、要求でクイック サニティ チェックを行う必要があります。First, we should do a quick sanity check on the request. ブラウザーの 開発者ツール を使用して、実行中の要求を表示できます。You can use your browser's developer tools to view the requests being made.

  • 送信元ではなく、エンドポイントの URL ( <endpointname>.azureedge.net) に要求が送信されていることを確認します。Verify the request is being sent to your endpoint URL, <endpointname>.azureedge.net, and not your origin.
  • 要求に Accept-Encoding ヘッダーが含まれており、このヘッダーの値に gzipdeflate、または bzip2 が含まれていることを確認します。Verify the request contains an Accept-Encoding header, and the value for that header contains gzip, deflate, or bzip2.

注意

Azure CDN from Akamai プロファイルは、gzip エンコーディングのみをサポートしています。Azure CDN from Akamai profiles only support gzip encoding.

CDN 要求ヘッダー

圧縮の設定を確認する (Standard CDN プロファイル)Verify compression settings (standard CDN profiles)

注意

この手順が適用されるのは、CDN プロファイルが Azure CDN Standard from Microsoft プロファイル、Azure CDN Standard from Verizon プロファイル、Azure CDN Standard from Akamai プロファイルのいずれかの場合のみです。This step applies only if your CDN profile is an Azure CDN Standard from Microsoft, Azure CDN Standard from Verizon, or Azure CDN Standard from Akamai profile.

Azure Portal でエンドポイントに移動し、 [構成] ボタンをクリックします。Navigate to your endpoint in the Azure portal and click the Configure button.

  • 圧縮が有効になっていることを確認します。Verify compression is enabled.
  • 圧縮するコンテンツの MIME の種類が、圧縮形式の一覧に含まれていることを確認します。Verify the MIME type for the content to be compressed is included in the list of compressed formats.

CDN の圧縮設定

圧縮の設定を確認する (Premium CDN プロファイル)Verify compression settings (Premium CDN profiles)

注意

この手順が適用されるのは、CDN プロファイルが Azure CDN Premium from Verizon プロファイルの場合のみです。This step applies only if your CDN profile is an Azure CDN Premium from Verizon profile.

Azure Portal でエンドポイントに移動し、 [管理] ボタンをクリックします。Navigate to your endpoint in the Azure portal and click the Manage button. 補助ポータルが開きます。The supplemental portal will open. [HTTP Large (HTTP ラージ)] タブ、 [キャッシュの設定] フライアウトの順にマウスのカーソルを合わせます。Hover over the HTTP Large tab, then hover over the Cache Settings flyout. [圧縮] をクリックします。Click Compression.

  • 圧縮が有効になっていることを確認します。Verify compression is enabled.
  • [ファイルの種類] 一覧に MIME の種類のコンマ区切り一覧 (スペースなし) が含まれていることを確認します。Verify the File Types list contains a comma-separated list (no spaces) of MIME types.
  • 圧縮するコンテンツの MIME の種類が、圧縮形式の一覧に含まれていることを確認します。Verify the MIME type for the content to be compressed is included in the list of compressed formats.

CDN Premium の圧縮設定

コンテンツがキャッシュされていることを確認する (Verizon CDN プロファイル)Verify the content is cached (Verizon CDN profiles)

注意

この手順が適用されるのは、CDN プロファイルが Azure CDN Standard from Verizon プロファイルまたは Azure CDN Premium from Verizon プロファイルの場合のみです。This step applies only if your CDN profile is an Azure CDN Standard from Verizon or Azure CDN Premium from Verizon profile.

ブラウザーの開発者ツールを使用して、応答ヘッダーを確認し、ファイルが要求されているリージョンでキャッシュされていることを確認します。Using your browser's developer tools, check the response headers to ensure the file is cached in the region where it is being requested.

  • Server 応答ヘッダーを確認します。Check the Server response header. この応答ヘッダーの形式は、次の例に示すとおり プラットフォーム (POP/サーバー ID) である必要があります。The header should have the format Platform (POP/Server ID), as seen in the following example.
  • X-Cache 応答ヘッダーを確認します。Check the X-Cache response header. ヘッダーによって HITが読み取られる必要があります。The header should read HIT.

CDN 応答ヘッダー

ファイルがサイズ要件を満たしていることを確認する (Verizon CDN プロファイル)Verify the file meets the size requirements (Verizon CDN profiles)

注意

この手順が適用されるのは、CDN プロファイルが Azure CDN Standard from Verizon プロファイルまたは Azure CDN Premium from Verizon プロファイルの場合のみです。This step applies only if your CDN profile is an Azure CDN Standard from Verizon or Azure CDN Premium from Verizon profile.

圧縮の対象であるには、ファイルは次のサイズ要件を満たす必要があります。To be eligible for compression, a file must meet the following size requirements:

  • 128 バイトより大きいLarger than 128 bytes.
  • 1 MB 未満Smaller than 1 MB.

配信元サーバーで要求の Via ヘッダーをチェックするCheck the request at the origin server for a Via header

Via HTTP ヘッダーは、その要求がプロキシ サーバーを介して送信されていることを Web サーバーに伝えます。The Via HTTP header indicates to the web server that the request is being passed by a proxy server. 既定では、要求に Via ヘッダーが含まれている場合、Microsoft IIS Web サーバーは応答を圧縮しません。Microsoft IIS web servers by default do not compress responses when the request contains a Via header. この動作をオーバーライドするには、次の作業を実行します。To override this behavior, perform the following: