【问题标题】:varnish not work only for one web sitevarnish 不仅仅适用于一个网站
【发布时间】:2015-08-28 11:12:10
【问题描述】:

我有一个带有更多站点的服务器,安装清漆后我测试了缓存是否有效,但对于一个网站,清漆不起作用(响应为 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

【问题讨论】:

    标签: php mysql apache server varnish


    【解决方案1】:

    Varnish 默认不会缓存设置了 cookie 的响应。

    如果你想改变这种行为,你需要考虑 cookie 是如何被使用的(它看起来像一个会话 cookie),或者使用会话 id 作为缓存哈希的一部分(即这样其他用户就不会得到一个缓存来自其他人会话的响应)或使用类似 ESI 的东西来允许缓存页面的“公共”部分,同时独立获取会话特定部分。

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

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

    【讨论】:

    • 我检查我的 cookie 我有这个“PHPSESSID”、“_ga”、“_gat”,如何解决??
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多