清漆不仅适用于一个网站

时间:2015-06-12 12:30:10

标签: php mysql apache server varnish

我有一个包含更多网站的服务器,在安装了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

1 个答案:

答案 0 :(得分:0)

默认情况下,清漆不会缓存设置Cookie的响应。

如果你想改变这种行为,你需要考虑如何使用cookie(它看起来像一个会话cookie),并使用会话id作为缓存哈希的一部分(即其他用户不要这样做)从其他人的会话中获得缓存的响应)或使用ESI之类的东西来允许"常见的"在独立获取会话特定部分时要缓存的页面部分。

http://www.varnish-cache.org/trac/wiki/VCLExampleCacheCookies

https://www.varnish-cache.org/trac/wiki/ESIfeatures