【问题标题】:Varnish 4 Cache does not cache dynamic pageVarnish 4 Cache 不缓存动态页面
【发布时间】:2014-12-09 17:26:56
【问题描述】:

是否可以缓存动态页面,尤其是首页?

计划减少对数据库的访问。

我可以做静态文件缓存。完美。

响应标头

接受范围:字节

年龄:0

Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0

连接:保持活动状态

内容类型:文本/html;字符集=utf-8

日期:格林威治标准时间 2014 年 12 月 9 日星期二 17:07:13

到期时间:1981 年 11 月 19 日星期四 08:52:00 GMT

Pragma:no-cache

传输编码:分块

通过:1.1 varnish-v4

x-缓存:未缓存

X-清漆:295421

文件默认vcl:http://notepad.cc/vaokodde9

【问题讨论】:

标签: varnish varnish-vcl


【解决方案1】:

您的后端在尖叫,它不希望任何人缓存该页面:

Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Expires:Thu, 19 Nov 1981 08:52:00 GMT
Pragma:no-cache

它将所有 Cache-Control 标头设置为禁止缓存,它在过去(返回)设置了 Expires 标头,以及 Pragma: no-cache。您必须修复后端以发送允许缓存的标头,或者如果您确定不会破坏任何内容,请开始在 vcl 中解决此标头。

我会选择第一个选项,稍后再处理 Cookies 问题。

【讨论】:

    【解决方案2】:

    我认为 Varnish 默认不会缓存带有 Cookie 的页面。也许这是你的问题(看起来你有一个 PHPSESSID 和其他一些东西)?

    请参阅 Varnish 文档:https://www.varnish-cache.org/trac/wiki/VCLExampleCacheCookies

    尝试将您的网络服务器配置为不设置任何 cookie,或将 Varnish 配置为忽略它们(请注意,这可能没有意义,并且会破坏您的网站!)

    【讨论】:

      【解决方案3】:

      谢谢大家。我设法通过研究一些关于 cookie 在清漆中的功能来解决这个问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-02-07
        • 2012-12-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-28
        • 1970-01-01
        相关资源
        最近更新 更多