HOST151: キャッシュが共有されて再生されています
この意味
店舗の前段にあるキャッシュが、ある人のAPI応答をすべての人に再送信しています。
キャッシュ層が、リクエスト元を確認せずに保存済みのREST APIレスポンスを返しています。アプリが認証情報の異なるプローブを送信したところ、どちらにも最初のプローブへの応答が返されました。稼働中の店舗でこれが起きると、あるレジ係が別のレジ係のデータを閲覧できてしまうため、店舗のAPIをキャッシュ対象から除外するまで接続はブロックされます。これはホスティング層の問題です。WordPress自体は常にユーザーごとに応答します。
このエラーを表示する前に、アプリはリクエストごとに一意のキャッシュキーを使って再試行します。その再試行でキャッシュを回避できると確認できれば、アプリは接続し、そのキーを送信し続けます。このエラーが表示されるのは、再試行でも安全な接続を確認できなかった場合だけです。
お客様のデータ
このデバイスのデータが危険にさらされている可能性があります — ローカルデータを消去しないでください。この状態が続く場合は、診断情報をエクスポートして WCPOS サポートに連絡してください。
トラブルシューティング
- アプリはリクエストごとに一意のキャッシュキーを使ってすでに再試行しましたが、安全な接続を確認できませんでした。そのため、ホスト側でキャッシュを修正する必要があります。
- ストアの REST API パス(/wp-json/ と /?rest_route=)をページキャッシュから除外してください — LiteSpeed では REST のキャッシュを無効にするか no-cache ルールを追加し、WP Engine では WooCommerce の除外設定を /wp-json/wcpos まで拡張し、Sucuri ではキャッシュレベルを Cache-Control を尊重する設定にします。
- ストアの API はすでに Cache-Control: no-store と Vary: Authorization を送信しています — キャッシュ層がそれらを無視しています。ホストにそれらのヘッダーを確認するよう伝えてください。
- キャッシュ設定を変更したら、再接続する前にキャッシュをパージしてください。