tencent cloud

フィードバック

異なるノードキャッシュのコンテンツが不一致

最終更新日:2021-05-25 16:00:53

    現象の説明

    CDNの同一リソースURLに対し、リージョンが異なるエンドユーザーがCDNにアクセスした場合、ノードが返す内容が一致しません。

    考えられる原因

    • 原因1:ドメイン名設定のキャッシュキールール(すべてのパラメータをフィルタリングする)が適用され、同時に、オリジンサーバーがパラメータに応じて異なるリソースを出力するように設定されています。
      オリジンサーバーはパラメータが違うと異なるデータを出力しますが、CDNはパラメータを無視してキャッシュを実行しています。そのため、最初に受信した異なるパラメータを持つアクセスには、異なるキャッシュが作成されるため、ノードは一致しなくなります。次回、同一のリクエストにより異なるノードにアクセスすると、受信したキャッシュが返すデータも異なります。

    • 原因2:オリジンサーバーの同一リソースが更新された後にリフレッシュ処理が実行されていません。
      CDNはURLに応じてリソースのキャッシュを実行します。オリジンサーバーがファイルを更新した後にURLが変化せず、内容のみに変化が発生した場合で、アクセス時にノードにキャッシュが存在する場合、直接キャッシュを取得します。同時に、各リージョンでのアクセス集中は異なるため、削除の時間も異なります。一部のノードキャッシュは削除済みで、次にアクセスする時は、back-to-originサーバーが取得する新しいリソースとなります。これにより、各ノードのキャッシュには新旧バージョンが同時に存在することになり、異なるノードキャッシュの内容が一致しない状況が発生します。

    解決方法

    1. オリジンサーバーがURLパラメータに基づき異なるリソースと、すべてのパラメータのフィルタリングを同時に使用しないというCDNドメイン名設定のキャッシュキールールを出力していることを確認してください。
    2. オリジンサーバーが同一URLのリソースを更新した後、一律にリフレッシュ処理することを確認してください。

    処理手順

    1. 自分の業務状況に応じて、オリジンサーバーがURLパラメータに基づき異なるリソースを出力するかどうか判断します。
      • 出力する場合は、手順2を実行してください。
      • そうでない場合は、手順4を実行してください。


    2. CDNコンソールにログインして、【ドメイン名管理】を選択し対応するドメイン名設定を見つけ、【キャッシュ設定】>【キャッシュキールールの設定】の「フィルタリングパラメータ」項目を参照します。CDN設定のドメイン名で、パラメータキャッシュのフィルタリング機能が有効になっているかどうかを確認します。

    • 有効な場合は、手順3を実行してください。
    • そうでない場合は、手順4を実行してください。


    3. キャッシュキールールの設定内にある対応するルールの操作欄で、【修正】をクリックし、ポップアップの「ルールの修正」ボックスでパラメータのフィルタリング機能をオフにしてから、【保存】をクリックします。

    説明:

    すべてをオフにすることがユーザーにとって不都合な場合のために、CDNには指定パラメータのフィルタリングを保持する機能が用意されています。ユーザーは実際の業務ニーズに基づき使用を選択することができます。具体的な方法についてキャッシュキールールの設定をご参照ください。


    4. 【パージとプリフェッチ】ディレクトリを開き、オリジンサーバーで変更されたリソースに対してリフレッシュを実行します

    説明:

    ユーザーはAPIを使用してリフレッシュを実行することができます。これにより、そのオリジンサーバーに変更が発生する場合、APIの呼び出しをバインドしてリフレッシュを実行し、ネットワーク全体で変更されたリソースアクセスの内容を即座に一致させることができます。詳細についてはURLリフレッシュインターフェースディレクトリリフレッシュインターフェースをご参照ください。

    お問い合わせ

    カスタマーサービスをご提供できるため、ぜひお気軽にお問い合わせくださいませ。

    テクニカルサポート

    さらにサポートが必要な場合は、サポートチケットを送信して弊社サポートチームにお問い合わせください。24時間365日のサポートをご提供します。

    電話サポート(24 時間365日対応)