我试图让清漆缓存响应被分块......(这是可能的,对吧?)
我有以下情况:
1 - 缓存很干净,一切正常(服务清漆重启)
2 - 首次访问 www.mywebsite.com/page
(没有返回内容长度,并且有分块,太棒了!)
3 - 下次我访问页面时(比如简单的重新加载),它将被缓存..现在我得到了:
(现在我们有了内容长度......这意味着没有分块:(不是很好!)
在阅读了一些 Varnish 文档/博客(以及这个:http ://book.varnish-software.com/4.0/chapters/VCL_Basics.html )之后,看起来有两个“最后”返回:return(fetch)或return(deliver ) .
强制return(fetch)时,分块编码有效......但这也意味着请求不会被缓存,对吧?虽然return(deliver)缓存正确但添加了 content-length 标头。
我尝试将这些添加到我的 default.vcl 文件中:
set beresp.do_esi = true; (at vcl_backend_response stage)
和
unset beresp.http.content-length; (at different stages, without success)
那么..如何让 Varnish 缓存与 Transfer-Encoding: 分块一起使用?
感谢您的关注!