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

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

この意味​

ホスティング側のキャッシュにより、ある人の店舗データが別の人に再表示される可能性があります。

このデバイス上のデータは失われません。ホスティング事業者に、店舗のAPI(/wp-json/と?rest_route=の両方のアドレス)をキャッシュしないよう依頼してください。WCPOSが接続できなかった場合は、その後に再接続してください。

キャッシュ層が、アクセス元を確認せずに保存済みの REST API 応答を配信しています。アプリは認証情報の異なる2つの確認リクエストを送信しましたが、どちらにも1つ目のリクエストへの応答が返されました。稼働中の店舗でこの状態が起きると、あるレジ係が別のレジ係のデータを閲覧できる可能性があります。これはホスティング層の問題です。WordPress 自体は常にユーザーごとに応答します。

この問題が起きると、アプリはリクエストごとに一意のキャッシュキーを付けて再試行します。そのキーでキャッシュを通過できると確認できた場合、WCPOSは接続し、そのキーを付けてリクエストを送り続けます。このログ項目は、キャッシュの修正がまだ必要であることを示す警告です。安全な接続を確認できない場合、キャッシュが修正されるまでWCPOSは接続しません。

お客様のデータ​

このデバイス上のデータは失われません。安全な接続を確認できない場合、WCPOSはある人のデータを別の人に表示するリスクを避けて接続しません。このデバイスにすでにあるデータはそのまま保持され、接続後に送信されます。

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

ホスティング事業者またはサイト管理者向け — WCPOSが回避策で接続できた場合でも、ホスティング側でキャッシュを修正する必要があります:

  1. ページキャッシュから店舗のREST APIパス(/wp-json/と/?rest_route=)を除外してください。LiteSpeedではRESTキャッシュを無効にするか、キャッシュしないルールを追加します。WP EngineではWooCommerceの除外対象に/wp-json/wcposと?rest_route=形式を追加します。Sucuriでは、Cache-Controlを尊重するようキャッシュレベルを設定します。
  2. ストアの API はすでに Cache-Control: no-store と Vary: Authorization を送信しています — キャッシュ層がそれらを無視しています。ホストにそれらのヘッダーを確認するよう伝えてください。
  3. キャッシュ設定を変更した後、キャッシュを消去してください。WCPOSが接続できなかった場合は、再接続してください。

詳細​

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