メインコンテンツにスキップ
バージョン: 1.x

HOST151: キャッシュが共有されて再生されています

この意味​

店舗の前段にあるキャッシュが、ある人のAPI応答をすべての人に再送信しています。

キャッシュ層が、リクエスト元を確認せずに保存済みのREST APIレスポンスを返しています。アプリが認証情報の異なるプローブを送信したところ、どちらにも最初のプローブへの応答が返されました。稼働中の店舗でこれが起きると、あるレジ係が別のレジ係のデータを閲覧できてしまうため、店舗のAPIをキャッシュ対象から除外するまで接続はブロックされます。これはホスティング層の問題です。WordPress自体は常にユーザーごとに応答します。

このエラーを表示する前に、アプリはリクエストごとに一意のキャッシュキーを使って再試行します。その再試行でキャッシュを回避できると確認できれば、アプリは接続し、そのキーを送信し続けます。このエラーが表示されるのは、再試行でも安全な接続を確認できなかった場合だけです。

お客様のデータ​

このデバイスのデータが危険にさらされている可能性があります — ローカルデータを消去しないでください。この状態が続く場合は、診断情報をエクスポートして WCPOS サポートに連絡してください。

トラブルシューティング​

  1. アプリはリクエストごとに一意のキャッシュキーを使ってすでに再試行しましたが、安全な接続を確認できませんでした。そのため、ホスト側でキャッシュを修正する必要があります。
  2. ストアの REST API パス(/wp-json/ と /?rest_route=)をページキャッシュから除外してください — LiteSpeed では REST のキャッシュを無効にするか no-cache ルールを追加し、WP Engine では WooCommerce の除外設定を /wp-json/wcpos まで拡張し、Sucuri ではキャッシュレベルを Cache-Control を尊重する設定にします。
  3. ストアの API はすでに Cache-Control: no-store と Vary: Authorization を送信しています — キャッシュ層がそれらを無視しています。ホストにそれらのヘッダーを確認するよう伝えてください。
  4. キャッシュ設定を変更したら、再接続する前にキャッシュをパージしてください。

詳細​

コード
HOST151 (CACHE_SHARED_REPLAY)
重大度
error
導入バージョン
WCPOS 1.10.0