Varnish 4 Cache不缓存动态页面

时间:2014-12-09 17:26:56

标签: varnish varnish-vcl

可以缓存动态页面,特别是主页吗?

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

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

回复标题

  

接受-范围:字节

     

年龄:0

     

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

     

连接:保活

     

的Content-Type:text / html的;字符集= UTF-8

     

日期:2014年12月9日星期二17:07:13 GMT

     

Expires:Thu,1981年11月19日08:52:00 GMT

     

杂注:无缓存

     

传送编码:分块

     

Via:1.1 varnish-v4

     

的x缓存:非高速缓存

     

X-清漆:295421

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

3 个答案:

答案 0 :(得分: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中解决此标头。

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

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

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