CDNの同一リソースURLに対し、リージョンが異なるエンドユーザーがCDNにアクセスした場合、ノードが返す内容が一致しません。
原因1:ドメイン名設定のキャッシュキールール(すべてのパラメータをフィルタリングする)が適用され、同時に、オリジンサーバーがパラメータに応じて異なるリソースを出力するように設定されています。
オリジンサーバーはパラメータが違うと異なるデータを出力しますが、CDNはパラメータを無視してキャッシュを実行しています。そのため、最初に受信した異なるパラメータを持つアクセスには、異なるキャッシュが作成されるため、ノードは一致しなくなります。次回、同一のリクエストにより異なるノードにアクセスすると、受信したキャッシュが返すデータも異なります。
原因2:オリジンサーバーの同一リソースが更新された後にリフレッシュ処理が実行されていません。
CDNはURLに応じてリソースのキャッシュを実行します。オリジンサーバーがファイルを更新した後にURLが変化せず、内容のみに変化が発生した場合で、アクセス時にノードにキャッシュが存在する場合、直接キャッシュを取得します。同時に、各リージョンでのアクセス集中は異なるため、削除の時間も異なります。一部のノードキャッシュは削除済みで、次にアクセスする時は、back-to-originサーバーが取得する新しいリソースとなります。これにより、各ノードのキャッシュには新旧バージョンが同時に存在することになり、異なるノードキャッシュの内容が一致しない状況が発生します。
2. CDNコンソールにログインして、【ドメイン名管理】を選択し対応するドメイン名設定を見つけ、【キャッシュ設定】>【キャッシュキールールの設定】の「フィルタリングパラメータ」項目を参照します。CDN設定のドメイン名で、パラメータキャッシュのフィルタリング機能が有効になっているかどうかを確認します。
3. キャッシュキールールの設定内にある対応するルールの操作欄で、【修正】をクリックし、ポップアップの「ルールの修正」ボックスでパラメータのフィルタリング機能をオフにしてから、【保存】をクリックします。
説明:すべてをオフにすることがユーザーにとって不都合な場合のために、CDNには指定パラメータのフィルタリングを保持する機能が用意されています。ユーザーは実際の業務ニーズに基づき使用を選択することができます。具体的な方法についてキャッシュキールールの設定をご参照ください。
4. 【パージとプリフェッチ】ディレクトリを開き、オリジンサーバーで変更されたリソースに対してリフレッシュを実行します
説明:ユーザーはAPIを使用してリフレッシュを実行することができます。これにより、そのオリジンサーバーに変更が発生する場合、APIの呼び出しをバインドしてリフレッシュを実行し、ネットワーク全体で変更されたリソースアクセスの内容を即座に一致させることができます。詳細についてはURLリフレッシュインターフェースとディレクトリリフレッシュインターフェースをご参照ください。
この記事はお役に立ちましたか?