나는 처음으로 Varnish Cache와 협력하여 을 사용하고 있으며 기꺼이 작동하도록 기쁘게 생각하지 않습니다.session_start()를 사용할 때 Varnish Cache가 캐싱하지 않음
내 문제는 충분히 간단 해 보입니다.
전체 나는 .php 페이지를 캐시하기를 원합니다.
지금까지 모든 .php 요청에는 항상 광택이 적용된 캐시가 있고 내 apache 웹 서버에 도달합니다.
쿠키와 session_start() 호출 문제가 있습니다.
없음으로 session_start() =으로 session_start와 캐싱 () = 캐싱
이제 문서 을 이해할 수있을만큼 간단하지만 내가 시도하고 실패 시도했습니다.하지 곧 으로 session_start() = 더 이상의 캐싱을 호출하지 않습니다.
다음<?php
session_start();
?>
<html>
<head>
</head>
<body>
<?php echo date('Y-m-d H-i-s'); ?>
</body>
</html>
이 내 매우 깨끗하고 간단한 광택 default.vcl이 클라이언트와 서버 하고 여기에서 쿠키 설정을 해제해야
backend default {
.host = "127.0.0.1";
.port = "8080";
}
sub vcl_recv {
unset req.http.Cookie;
return (lookup);
}
sub vcl_fetch {
if (beresp.http.Set-Cookie) {
unset beresp.http.Set-Cookie;
return (deliver);
}
}
: 여기
은/PHP w 샘플 HTML입니다 그렇게하는 것처럼 보입니다.응답 헤더 :
파이어 폭스에서 방화 광 으로 디버깅 할 때 나는 여기는 파이어 폭스에서 HTTP 헤더있는이 default.vcl를 사용할 때 설정-쿠키와 쿠키 HTTP 헤더 가 없습니다 볼 수 있습니다
HTTP/1.1 200 OK
Server: Apache/2.2.16 (Debian)
X-Powered-By: PHP/5.3.3-7
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Type: text/html
Content-Length: 192
Date: Wed, 23 Feb 2011 01:34:17 GMT
X-Varnish: 2052563421
Age: 0
Via: 1.1 varnish
Connection: keep-alive
Request Headers:
GET /test.php HTTP/1.1
Host: xshare.com.local
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Cache-Control: max-age=0
어디서 잘못 될지 알 수 없습니다. .vcl 구성 파일에 줄과 변형을 추가/변경하고 제거하여 2 시간 동안 조정했습니다.
누구든지 조언을 해줄 수 있습니까?
많은 감사.
beresp에서 설정 쿠키를 제거하지 않으면 모든 사용자에 대해 동일한 쿠키가 캐시됩니다! – matheuzzy
세션의 전체 지점은 사용자에게 고유 한 것입니다. 이것이 바니시가 기본적으로 캐시하지 않는 이유입니다. – matpol