すべてのプロダクト
Search
ドキュメントセンター

CDN:IIS のキャッシュポリシーの設定

最終更新日:Sep 04, 2026

インターネットインフォメーションサービス (IIS) の設定を最適化することで、Web サイトのページロード時間の遅延やファイルのアップロードの失敗といった問題に対処できます。キャッシュポリシーを設定すると、Web サイトの応答速度が向上します。また、ASP アプリケーションの最大リクエストサイズ制限 (AspMaxRequestEntityAllowed) を調整することで、大容量のファイルのアップロードが可能になります。

ユースケース

  • パフォーマンスの向上:画像、CSS、JavaScript ファイルなど、更新頻度の低い静的リソースに対して、長期間有効なキャッシュポリシーを設定します。これにより、サーバーへのリクエストが削減され、ページロード時間が短縮されます。

  • 大容量ファイルのアップロードのサポート:ASP アプリケーションのリクエストサイズ制限を調整して、動画や大容量ドキュメントのアップロードなど、ビジネスニーズに対応できます。

適用範囲

  • サードパーティ製品の責任:Alibaba Cloud は、本書に記載されている IIS などのサードパーティ製品のパフォーマンス、信頼性、または運用について、いかなる保証も行いません。

  • バージョンの互換性:本書の手順は、主に IIS 6.0 に基づいています。IIS 7.0 以降のバージョンでは、一部の UI 要素、サービス名 (Windows プロセス アクティブ化サービスなど)、および設定ファイル (MetaBase.xml) が異なる場合があります。ご使用の環境に合わせて手順を調整してください。

  • ASP のリクエスト制限:「最大要求エンティティ ボディ制限」設定は ASP アプリケーションにのみ影響し、他の種類の Web アプリケーションには適用されません。

Windows への IIS サービスのインストール (オプション)

  1. サーバーのデスクトップで、[スタート] > [コントロールパネル] の順にクリックします。

  2. [表示方法] を [小さいアイコン] に設定し、[既定のプログラム] > [プログラムと機能] の順にクリックします。

  3. 左側メニューで、[Windows の機能の有効化または無効化] をクリックします。

  4. [Windows の機能] ダイアログボックスで、[インターネットインフォメーションサービス] を選択します。

  5. [OK] をクリックし、インストールが完了するまで待ちます。

コンテンツキャッシュポリシーの設定

目的: HTTP 応答ヘッダーを設定し、ブラウザーまたはプロキシサーバーが、指定された期間、サーバーに再リクエストすることなくローカルキャッシュを使用するように指示します。

キャッシュのグローバルな無効化 (動的コンテンツ向け)

この方法では、デフォルトですべての Web サイトコンテンツのキャッシュを無効にします。これにより、ユーザーはアクセスするたびに最新のデータを確実に受け取ることができるため、コンテンツが頻繁に変更される動的サイトに最適です。

  1. [ファイル名を指定して実行] ダイアログボックスに inetmgr と入力して、IIS マネージャーを開きます。

  2. 左側の [接続] ペインで、対象のサイトを右クリックし、[プロパティ] を選択します。

  3. [プロパティ] ダイアログボックスで、[HTTP ヘッダー] タブをクリックします。

  4. [コンテンツの有効期限を有効にする] を選択し、次に [直ちに期限切れにする] を選択します。

  5. [OK] をクリックして保存します。

特定のディレクトリまたはファイルのキャッシュ設定 (静的リソース向け)

この方法では、画像、CSS、JS ファイルなどの静的リソースを含むディレクトリに長いキャッシュ期間を設定します。これにより、読み込み速度が大幅に向上します。

  1. IIS マネージャーで、対象のサイトのディレクトリツリーを展開します。

  2. キャッシュを設定する特定のディレクトリまたはファイル (images ディレクトリなど) を右クリックし、[プロパティ] を選択します。

  3. [HTTP ヘッダー] タブをクリックし、[コンテンツの有効期限を有効にする] を選択します。

  4. [次の期間後に期限切れにする] を選択し、30 日などの長いキャッシュ期間を設定します。

  5. [OK] をクリックします。


ワイルドカードを使用したキャッシュポリシーの一括設定 (高度な設定)

この方法は、すべての .jpg ファイルなど、異なるディレクトリにある同じ種類のファイルに統一されたキャッシュポリシーを適用する場合に便利です。

重要

IIS 6.0:MetaBase.xml ファイルを直接変更することは推奨されません。この操作は複雑でリスクが高いためです。

  • IIS 7.0 以降 (推奨):設定には web.config ファイルを使用します。<location> 要素と <staticContent> 要素を使用すると、特定のファイルタイプに対してキャッシュポリシーを設定でき、より安全で柔軟な方法です。

ASP の最大要求エンティティボディ制限の調整

目的: この設定は、クライアントが POST メソッドを使用して ASP ページに送信できるデータの最大量を制限します。デフォルト値は 200 KB (204,800 バイト) であり、大容量のファイルのアップロードが失敗する原因となることがあります。

IIS マネージャーを使用した設定 (推奨)

  1. IIS マネージャーで、対象のサイトを選択します。

  2. [機能ビュー] で、ASP 機能アイコンをダブルクリックします。

  3. ASP 設定ページで、[制限プロパティ] を展開します。

  4. [最大要求エンティティ ボディ制限] の値 (バイト単位) を変更します。

    • デフォルト値: 204,800 (200 KB)

    • 例: 50 MB のファイルのアップロードをサポートするには、値を 52,428,800 に設定します。

  5. 右側の [操作] ペインで、[適用] をクリックして変更を保存します。

設定ファイルの直接変更

  1. IIS Admin Service を停止します。

  2. C:\Windows\System32\inetsrv\MetaBase.xml ファイルをバックアップしてから、テキストエディターで開きます。

  3. ファイル内で AspMaxRequestEntityAllowed パラメーターを検索し、その値を変更します。

    • デフォルト値: 204,800 (200 KB)

    • 例: 500 MB のファイルのアップロードをサポートするには、値を 524,288,000 に設定します。

  4. MetaBase.xml ファイルを保存して閉じます。

設定を適用するためのサービスの再起動

設定を変更した後、変更を有効にするには、対応する IIS サービスを再起動する必要があります。

  • IIS 6.0: サービスマネージャーで、IIS Admin Service を再起動します。

  • IIS 7.0/8.0: サービスマネージャーで、Windows プロセス アクティブ化サービスを再起動します。

キャッシュポリシーの確認

  1. ブラウザーのデベロッパーツール (キーボードショートカット: F12) で [ネットワーク] パネルを開きます。

  2. Web サイトにアクセスし、画像など、キャッシュを設定したリソースを選択します。

  3. [ヘッダー] セクションで、[応答ヘッダー] を確認します。

    • 設定成功: 応答ヘッダーに Cache-Control: max-age=[seconds] または Expires: [future date] フィールドが含まれています。

    • 即时期限切れ: 応答ヘッダーに Cache-Control: no-cache または過去の日付が値として設定された Expires フィールドが含まれています。

よくある質問

設定の変更が有効にならないのはなぜですか。

この問題は、通常、次のいずれかの理由で発生します。順番に確認してください。

  1. 誤ったサービスの再起動:正しいサービスが再起動されるまで、変更は適用されません。

    • IIS 6.0 の場合:IIS Admin Service を再起動します。

    • IIS 7.0/8.0 の場合:Windows プロセス アクティブ化サービス を再起動します。

  2. 設定の上書き:より具体的な設定がグローバル設定を上書きしています。たとえば、特定のディレクトリに設定されたキャッシュポリシーは、常にサイト全体のポリシーよりも優先されます。

  3. 確認時のブラウザーキャッシュ:ブラウザーがローカルキャッシュから古い応答を返している可能性があります。サーバーから直接新しい応答を取得するには、ブラウザーキャッシュをクリアするか、テスト中にブラウザーのデベロッパーツールで [キャッシュを無効にする] オプションを有効にします。

リクエストサイズ制限を調整した後もファイルのアップロードが失敗するのはなぜですか。

これは通常、Web アプリケーションに IIS サーバーレベルの設定とは別の独自のアップロードサイズ制限があるために発生します。IIS の AspMaxRequestEntityAllowed 設定は、Web サーバーが受け入れる最大リクエストボディサイズのみを制御します。サーバー上で実行されているアプリケーション (例: ASP.NET アプリケーション) は、多くの場合、それ自体のより低い制限を設けています。たとえば、ASP.NET アプリケーションの web.config ファイルに、変更が必要な <httpRuntime> 設定が含まれている場合があります。