주 콘텐츠로 건너뛰기
버전: 1.x

HOST151: 캐시가 공유 응답을 재생함

이것이 의미하는 바​

호스트의 캐시가 한 사용자의 매장 데이터를 다른 사용자에게 다시 제공할 수 있습니다.

이 기기의 데이터는 손실되지 않습니다. 호스트에 매장의 API(/wp-json/ 및 ?rest_route= 주소)를 캐시하지 않도록 요청하세요. WCPOS가 연결되지 않았다면 이후 다시 연결하세요.

캐시 계층이 누가 요청했는지 확인하지 않고 저장된 REST API 응답을 제공하고 있습니다. 앱이 서로 다른 인증 정보로 두 번 확인 요청을 보냈지만 두 번 모두 첫 번째 요청의 응답을 받았습니다. 운영 중인 매장에서는 한 캐셔가 다른 캐셔의 데이터를 볼 수 있습니다. 이는 호스팅 계층의 문제이며 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