Varnish 3.0.2, Apache2, Pressflow를 실행 중입니다. ESI를 처음으로 사용하려고 시도하고 있으며 작동하지만 부모 페이지가 처음 요청 된 경우에만 작동합니다. 그런 다음 캐시에서 부모 페이지와 대체 된 콘텐츠를 가져옵니다. 내가 생각할 수있는 유일한 점은 포함 된 파일을 캐시하지 말라고 말하고 있지만 포함 된 내용은 영구적으로 캐시된다는 것입니다. 여기에 포함 된 파일을 저장할 개체가 있습니다.Varnish ESI는 부모 페이지가 백엔드에서 페치 된 경우에만 작동합니다.
11 ObjProtocol c HTTP/1.1
11 ObjResponse c OK
11 ObjHeader c Date: Wed, 18 Jul 2012 23:25:56 GMT
11 ObjHeader c X-Powered-By: PHP/5.3.3-1ubuntu9.10
11 ObjHeader c Last-Modified: Wed, 18 Jul 2012 23:25:56 +0000
11 ObjHeader c Expires: Sun, 11 Mar 1984 12:00:00 GMT
11 ObjHeader c Vary: Cookie,Accept-Encoding
11 ObjHeader c ETag: "1342653956"
11 ObjHeader c Content-Encoding: gzip
11 ObjHeader c Content-Length: 656
11 ObjHeader c Content-Type: text/html
11 ObjHeader c Server: Apache/2.2.11
11 ObjHeader c Cache-Control: no-store
나는 이것을 하루 종일 보냈고, 검색하고, 찾을 수있는 모든 기사를 읽고, VCL과 HTTP 헤더 모두에서 구성 조정의 전체 힙을 시도했습니다. 내가 잘못하고있는 것을 볼 수 없다.
이 캐시
sub vcl_fetch {
set beresp.do_esi = true;
if (req.url ~ "^/esi_") {
set beresp.http.Cache-Control = "no-store";
set beresp.ttl = 0s;
}
}
나는 내가 varnishlog의 오류를 inidicate 아무것도보고하지 오전 추가 할에 보관하지 그것을 강제로 시도, 내 VCL에서 조각입니다. 난 단지 경로를 사용하여 시도하고, 호스트 + 경로를 포함 src에 있지만 차이가 없습니다. 백엔드에 신선한 콘텐츠를 요구하지 않습니다. 두 번째 및 후속 요청에 대한 로그를보고 있다면 ESI 페이지라는 것을 알지 못할 것입니다.