2012-12-13 2 views
0

내 사이트 중 하나에서 쿠키를 설정하지 않아야하는 콘텐츠 페이지가 모두 "캐시 제어 : 공개"로 설정되고 최대 연령이 설정되어야하며 승인 필요).Varnish HitPass 디버깅

내 문제는 어떻게 든 HitPass 개체가 내 캐시에 캐시를 만들고 그 페이지에서 캐싱을 제거한다는 것입니다. 이 문제를 디버깅 할 필요가 있지만 특히 문제를 복제 할 수없는 경우이를 정확히 수행하는 방법에 대해 혼란 스럽습니다.

나는 바니시가 광택 로그의 히트 패스 옆에 ID를 제공한다는 것을 알았습니다. 나는 이것이 HitPass를 생성 한 요청에 대한 바니시 ID라고 가정하고, 바니시 로그를 검색하면 응답에 무엇이 잘못되었는지 정확히 알 수 있습니까?

캐싱 할 페이지에서 SetCookie 헤더를 제거하는 것이 더 좋을까요? 문제는 URL이 전달 된 경우에도 vcl_fetch가 호출된다는 것입니다 ... 현재 요청이 vcl_recv에 의해 전달되었는지 여부를 vcl_fetch에서 알 수있는 방법이 있습니까?

답변

0

실제로 SetCookie가 캐시에서 히트 -가 - 패스 객체를 얻는 이유입니다. 이것은 준비되지 않은 사이트에 대한 중요한 최적화입니다. 히트 - 포 - 패스 (hit-for-pass)는 각 요청에 대해 바니시를 백엔드로 바로 보내서 스톨하지 않고 이전 응답을 기다립니다.

정확히 무엇을 디버그하고 싶은지 잘 모르겠습니다. 쿠키가 설정된 경우 백엔드에서 해당 쿠키를 제거하거나 캐시 할 캐시 또는 캐시에서 무시할 캐시를 직접 결정해야합니다. 쿠키가 여전히 필요하고 고유 한 값을 필요로한다면 hit-for-pass가 최선의 방법입니다.

관련 문제