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

CDN:パラメーターの無視

最終更新日:Jun 05, 2026

パラメーターの無視を有効にすると、CDN のエッジノードはリクエスト URL からクエリパラメーター (「?」 以降の部分) を削除します。これにより、異なるパラメーターを持つリクエストが同じキャッシュにヒットするようになり、キャッシュヒット率が向上します。このトピックでは、パラメーターの無視の設定方法、代替機能との比較、および一般的な問題のトラブルシューティングについて説明します。

機能の比較と選択

  • カスタムキャッシュキーは、パラメーター無視と競合します。 パラメーター無視が有効になっている場合、エッジノードは URL 内の ? 以降のすべてのパラメーターを削除するため、カスタムキャッシュキー設定のリクエストパラメーター設定は無効になります。 カスタムキャッシュキーを使用する前に、パラメーター無視を無効にしてください。

  • カスタムキャッシュキーは、キャッシュキー設定においてパラメーターの無視の代わりに使用でき、より包括的な機能を提供します。まずカスタムキャッシュキーを使用することを推奨します。設定の比較は以下の通りです。

    シナリオ

    パラメーターの無視の設定

    カスタムキャッシュキーの設定

    すべてのリクエストパラメーターを無視する

    [パラメーターの無視] を [はい] に設定し、[指定されたパラメーターの保持] を空欄のままにします。

    リクエストパラメーターの処理ルールを追加します。

    • アクション:保持

    • パラメーター名:存在しないパラメーター名 (例: example-argument) を指定します。

    リクエストパラメーター「key1」のみを保持する

    「パラメーターを無視」を「はい」に設定し、「指定したパラメーターを保持」を key1 に設定します。

    リクエストパラメーターの処理ルールを追加します。

    • アクション:保持

    • パラメーター名:key1

    リクエストパラメーター「key1」のみを削除する

    key1 のパラメーター設定を削除します。

    リクエストパラメーターの処理ルールを追加します。

    • アクション:削除

    • パラメーター名:key1

  • オリジンパラメーターの書き換えは、オリジンリクエストの書き換えにおいてパラメーターの無視の代わりに使用でき、より包括的な機能を提供します。まずこの機能を使用することを推奨します。

機能の概要

パラメーターの無視

機能

シナリオ

リクエスト URL からクエリパラメーター (? 以降の部分) を削除することで、パラメーターが異なるリクエストが同じキャッシュファイルにヒットするため、キャッシュヒット率が向上し、オリジンへのトラフィックが削減されます。

URL パラメーターがリソースのコンテンツと無関係な場合 (ユーザー UID、参照元、プロモーションコードなど) は、パラメーターの無視を有効にします。たとえば、以下の 2 つのリクエストは同じリソースにアクセスしますが、異なる UID を持っています。

ユーザー A: http://example.com/1.jpg?uid=123***

ユーザー B: http://example.com/1.jpg?uid=654***

パラメーターを無視する設定がない場合、CDN エッジノードはこれらを異なるリソースとして扱うため、同じキャッシュを共有できず、リクエストごとにオリジンへのフェッチが必要になります。パラメーター無視を有効にした場合、CDN エッジノードはパラメーターを削除し、キャッシュを照合するために http://example.com/1.jpg を使用します。

説明

URL 署名はパラメーターの無視よりも優先されます。タイプ A の署名には URL パラメーターが署名に含まれます。CDN は最初に認証を行い、検証が成功した後にのみコンテンツをキャッシュします。

オリジンパラメーターの保持

機能

シナリオ

オリジンフェッチ中に元の URL パラメーターをすべて保持することで、オリジンサーバーが重要なユーザー情報を確実に受信できるようにします。

パラメーター無視が有効になっている場合、CDN エッジノードはデフォルトで、パラメーターが削除された URL をオリジンリクエストに使用します。上記の例では、ユーザー A とユーザー B の両方が http://example.com/1.jpg へのオリジンリクエストを送信するため、UID のような重要な情報が失われます。「オリジンパラメーターの保持」を有効にすると、CDN はオリジンリクエストに元の URL を使用するようになり、オリジンサーバーで UID などのパラメーターが保持されます。

手順

  1. CDN コンソールにログインします。

  2. 左側メニューで、ドメイン名 をクリックします。

  3. ドメインリストで、対象のドメイン名をクリックします。左側メニューで、パフォーマンスの最適化 をクリックして、パフォーマンス最適化設定ページに移動します。

  4. [パラメーターの無視] セクションで 変更 をクリックします。モードを選択し、必要に応じて設定を完了します。

  5. 設定が完了したら、OK をクリックして保存します。

重要
  • モードを切り替えると、既存の設定はクリアされます。

  • パラメーターの無視の設定を変更した後、エッジノード上のキャッシュファイルは自動的に更新されません。コンソールでURL の更新またはディレクトリの更新を実行して、新しい設定を適用し、古いキャッシュをパージする必要があります。そうしないと、ユーザーは古いポリシーでキャッシュされたコンテンツにアクセスし続け、アクセスに問題が発生する可能性があります。

モード:指定されたパラメーターの保持

パラメーター

説明

[パラメーターを無視]

  • はい: パラメーター無視を有効にすると、URL 内の ? 以降のすべてのパラメーターが削除されます。

    説明

    [パラメーターを無視] を有効にし、[指定されたパラメーターを保持] を空のままにすると、? 以降のすべてのパラメーターが削除されます。

  • [いいえ]:パラメーターの無視を無効にして、すべての URL パラメーターを保持します。

元の URL が http://example.com/1.jpg?key1=1&key2=2&key3=3 であるとします。各設定の結果は次のとおりです。

  • 例 1:すべてのパラメーターを無視し、オリジンパラメーターを保持しない場合

    • 設定:[パラメーターの無視] = [はい][指定されたパラメーターの保持] は空欄、[オリジンパラメーターの保持] = [いいえ]

    • キャッシュキー: http://example.com/1.jpg

    • オリジン URL: http://example.com/1.jpg

  • 例 2:指定されたパラメーターを保持し、オリジンパラメーターを保持しない場合

    • 設定: パラメーターを無視=はい, 指定したパラメーターを保持=key1, オリジンパラメーターを保持=いいえ

    • キャッシュキー: http://example.com/1.jpg?key1=1

    • オリジン URL: http://example.com/1.jpg?key1=1

  • 例 3:すべてのパラメーターを無視し、オリジンパラメーターを保持する場合

    • 設定:[パラメーターの無視] = [はい][指定されたパラメーターの保持] は空欄、[オリジンパラメーターの保持] = [はい]

    • キャッシュキー: http://example.com/1.jpg

    • オリジン URL: http://example.com/1.jpg?key1=1&key2=2&key3=3

  • 例 4:指定されたパラメーターを保持し、オリジンパラメーターを保持する場合

    • 設定:パラメーターを無視=はい指定パラメーターを保持=key1オリジンパラメーターを保持=はい

    • キャッシュキー:http://example.com/1.jpg?key1=1

    • オリジン URL: http://example.com/1.jpg?key1=1&key2=2&key3=3

[指定されたパラメーターを保持]

保持するパラメーター名を入力します。最大 10 個のパラメーターをカンマ (,) で区切って指定できます。

[オリジンパラメーターの保持]

  • [はい]:オリジンフェッチ中に元の URL パラメーターをすべて保持します。

  • [いいえ]:オリジンフェッチ中、キャッシュハッシュキーと一致するパラメーター (つまり、保持されたパラメーター) のみを含めます。

[ルール条件]

ルール条件により、リクエストが特定の基準を満たす場合にのみルールを適用できます。

重要

機能がルール条件を参照する場合、実行順序は機能設定の順序ではなく、関連するルール条件の優先順位に従います。

  • 使用しない:条件付きルールを無効にします。

  • 条件付きルールはルールエンジンで追加または編集できます。

モード:指定されたパラメーターの削除

パラメーター

説明

[指定されたパラメーターの削除]

削除するパラメーター名を入力します。最大 10 個のパラメーターをカンマ (,) で区切って指定できます。

元の URL を http://example.com/1.jpg?key1=1&key2=2&key3=3 とします。各設定の結果は以下のとおりです。

  • 例 1:指定されたパラメーターを削除し、オリジンパラメーターを保持しない場合

    • 設定: 指定パラメーターの削除=key1オリジンパラメーターの保持=いいえ

    • キャッシュキー: http://example.com/1.jpg?key2=2&key3=3

    • オリジン URL: http://example.com/1.jpg?key2=2&key3=3

  • 例 2:指定されたパラメーターを削除し、オリジンパラメーターを保持する場合

    • 設定:指定パラメーターの削除=key1オリジンパラメーターを保持=はい

    • キャッシュキー: http://example.com/1.jpg?key2=2&key3=3

    • オリジン URL: http://example.com/1.jpg?key1=1&key2=2&key3=3

[オリジンパラメーターの保持]

  • [はい]:オリジンフェッチ中に元の URL パラメーターをすべて保持します。

  • [いいえ]:オリジンフェッチ中、キャッシュハッシュキーと一致するパラメーター (つまり、指定されたパラメーターを削除した後の結果) のみを含めます。

[ルール条件]

ルール条件により、リクエストが特定の基準を満たす場合にのみルールを適用できます。

重要

機能がルール条件を参照する場合、実行順序は機能設定の順序ではなく、関連するルール条件の優先順位に従います。

  • 使用しない:条件付きルールを無効にします。

  • 条件付きルールはルールエンジンで追加または編集できます。

よくある質問

パラメーターの無視を有効にした後のサービス上の問題に関するトラブルシューティング

パラメーターの無視を有効にすると、CDN は異なるパラメーターを持つリクエストをキャッシュする際に同じリソースとして扱います。URL パラメーターが以下のカテゴリーに該当する場合は、一律に無視しないでください。

  • ユーザー ID 識別子 (UID、Token、Session ID など):これらを無視すると、認証の失敗やユーザー間のデータ漏洩が発生します。

  • 動的コンテンツの識別(バージョン番号 ?v=1 やページネーション ?page=2 など):これらを無視すると、誤ったキャッシュコンテンツが返されます。

  • オリジンでの処理指示 (OSS 画像処理パラメーター x-oss-process など): これらを無視すると、処理が無効になり、未処理のオリジナルリソースが返されます。

トラブルシューティングと解決策

  1. [パラメーターの無視] の設定を削除または無効にします。

  2. 設定を変更した後、キャッシュのパージ (URL の更新またはディレクトリの更新) を実行して、エッジノードから古いキャッシュをクリアします。

  3. 一部のパラメーターを保持する必要がある場合は、[指定されたパラメーターを保持] モードを使用して、x-oss-processtoken などの重要なパラメーターを保持します。

パラメーターの無視の設定が変更後に有効にならないのはなぜですか

パラメーターの無視の設定を変更した後、エッジノード上のキャッシュファイルは自動的に更新されません。アクセスに問題が続く場合や、オリジントラフィックが減少しない場合は、以下の手順に従ってください。

  1. 設定が保存されていることを確認:CDN コンソールにログインし、パラメーターの無視の設定ページを再訪して、現在の設定が期待通りであることを確認します。

  2. カスタムキャッシュキーとの競合を確認:パラメーターの無視とカスタムキャッシュキーは共存できません。パラメーターの無視を有効にすると、カスタムキャッシュキーのリクエストパラメーター設定が無効になります。両方の機能が同時に有効になっていないことを確認してください。

  3. キャッシュのパージを実行:新しい設定はすぐに有効になりますが、既存のキャッシュファイルは古いポリシーに基づいてキャッシュされています。[リソースの更新とプリフェッチ] ページで URL の更新またはディレクトリの更新を実行して、古いキャッシュをクリアし、新しい設定を完全に適用する必要があります。

  4. 設定の確認: コマンド curl -I "full URL" を使用して、レスポンスヘッダーの X-Cache フィールドを確認し、キャッシュヒットステータスが期待どおりであることを確認します。

OSS の画像処理または動画スナップショットを使用する場合のパラメーターの無視の設定方法

OSS の画像処理 (例: x-oss-process=image/resize,w_200) や動画スナップショット機能を使用する場合、CDN ドメインでパラメーターの無視を有効にすると、元のリソースと処理後のリソースの URL が同じファイルとしてキャッシュされ、誤ったコンテンツ配信につながります。

解決策:CDN コンソールのパラメーター無視設定で、x-oss-process パラメーターを「指定されたパラメーターを保持」モードに設定します。これにより、画像処理パラメーター付きの URL が個別にキャッシュされ、元のリソースのキャッシュとの競合が回避されます。

URL パラメーターによるキャッシュバイパスへの対処方法

攻撃者やクローラーが、同じリソースをリクエストする際に ?timestamp=xxx?random=xxx のような意味のないランダムなパラメーターを追加すると、CDN はパラメーター付きの各リクエストをそれぞれ一意のリソースとして扱います。これによりキャッシュヒット率が低下し、オリジンへのトラフィックが急増します。

パラメーターの無視を有効にする (またはすべてのパラメーターを無視するように設定する) ことで、異なるランダムパラメーターを持つリクエストが同じキャッシュにヒットするようになり、オリジンの負荷を効果的に軽減します。たとえば、パラメーターの無視を有効にすると、以下のリクエストは同じキャッシュにヒットします。

  • http://example.com/page.html?t=123456

  • http://example.com/page.html?t=789012

  • http://example.com/page.html?random=abc

パラメーター無視を有効にすると、これらのリクエストはすべてキャッシュとの照合に http://example.com/page.html を使用するため、URL パラメーターによるキャッシュバイパス攻撃を効果的に軽減できます。

パラメーターの無視を有効にした後、クライアントごとにキャッシュヒットのステータス (X-Cache が MISS を表示) が異なるのはなぜですか

考えられる原因:

  1. URL の動的認証パラメーターが無視されない: URL に auth_key のようにリクエストごとに値が異なるパラメーターが含まれている場合、パラメーターを無視する設定が有効であっても、CDN はそれらを異なるリソースとして扱います (認証パラメーターが保持されない場合)。

  2. キャッシュのないノードへの初回アクセス:特定のエッジノードにまだリソースがキャッシュされていないため、初回アクセスは常に MISS と表示されます。

  3. クライアントリクエストヘッダーの差異Accept-EncodingUser-Agent などのヘッダーに違いがあると、複数のキャッシュレプリカが作成される場合があります (たとえば、個別の Gzip バージョンと非 Gzip バージョン) 。

  4. カスタムキャッシュキーと競合し、設定が有効になっていない。

トラブルシューティング方法: クライアントで curl -I "full URL" を実行し、X-CacheX-Swift-CacheTime レスポンスヘッダーを比較してキャッシュステータスを確認します。

解決策:パラメーターの無視が正しく設定されていること (有効になっており、重要なパラメーターが保持されるように設定されていること) を確認し、クライアントのリクエストヘッダーポリシーを統一します。

段階的なリリースやバージョン更新中に、URL パラメーターを使用して CDN に最新のリソースを取得させる方法

パラメーターの無視が有効になっている場合、CDN は ?v=1?v=2 などの URL パラメーターを使用してバージョンを区別できません。以下のいずれかの方法を使用します。

  • 方法 1 (推奨): クエリパラメーターのみに頼るのではなく、バージョン付きファイル名 (style.v2.cssapp.v2.js など) を使用して、ユーザーが最新のコンテンツを確実に取得できるようにします。

  • アプローチ 2:新しいバージョンをリリースする際に、CDN の更新 API をプロアクティブに呼び出して、古いキャッシュをパージします。