我有一个包含更多网站的服务器,在安装了varnish之后我测试了缓存的工作情况,但是对于一个网站不工作清漆(有max-age = 0的响应)。如果我尝试在本网站的同一文件夹中插入一个简单的php页面(与主网站无关),则响应有效。
尝试时这是标题:
HTTP/1.1 200 OK
Server: Apache/2.2.27 (Unix) mod_ssl/2.2.27 OpenSSL/1.0.1e-fips
X-Powered-By: PHP/5.2.17
Set-Cookie: PHPSESSID=ragejao4sm1kckjn1trvap3ft0; path=/
Vary: User-Agent,Accept-Encoding
Content-Encoding: gzip
Content-Type: text/html
Cache-Control: max_age=8600
magicmarker: 1
Content-Length: 11863
Accept-Ranges: bytes
Date: Fri, 12 Jun 2015 12:28:15 GMT
X-Varnish: 1250916100
Age: 0
Via: 1.1 varnish
Connection: keep-alive
答案 0 :(得分:0)
默认情况下,清漆不会缓存设置Cookie的响应。
如果你想改变这种行为,你需要考虑如何使用cookie(它看起来像一个会话cookie),并使用会话id作为缓存哈希的一部分(即其他用户不要这样做)从其他人的会话中获得缓存的响应)或使用ESI之类的东西来允许"常见的"在独立获取会话特定部分时要缓存的页面部分。
http://www.varnish-cache.org/trac/wiki/VCLExampleCacheCookies