Caching 清漆能产生ETag吗?
有没有办法让Varnish为接收到的后端响应生成ETag并将其添加到响应中?我更希望在Varnish中包含所有ETag逻辑,而不是为我的所有后端节点单独配置Caching 清漆能产生ETag吗?,caching,varnish,etag,Caching,Varnish,Etag,有没有办法让Varnish为接收到的后端响应生成ETag并将其添加到响应中?我更希望在Varnish中包含所有ETag逻辑,而不是为我的所有后端节点单独配置 我使用的是Varnish 4.0.0。当前未在Varnish()中实现etag。如果愿意,可以在VCL中创建etag标头及其值 sub vcl_backend_response { if (!beresp.http.Etag) { set beresp.http.Etag = "W/foo"; } } 这里
我使用的是Varnish 4.0.0。当前未在Varnish()中实现etag。如果愿意,可以在VCL中创建etag标头及其值
sub vcl_backend_response {
if (!beresp.http.Etag) {
set beresp.http.Etag = "W/foo";
}
}
这里的主要问题是如何使Etag反映对象的主体。您必须了解应用程序如何安全地执行此操作。一种方法是将日期响应头和URL一起提供给libvmod digest,并将哈希输出设置为Etag
在Varnish 4.0.0中,您(wiki已经过时)支持If-Modified-Since/If-None匹配后端,因此如果您选择在VCL中执行此操作,请记住在VCL_-backend_-fetch中对其进行过滤,以免混淆后端
一般来说,我建议不要在VCL中这样做。在后端添加它通常只是启用一个模块。VCL中的实际更改很简单,但这是HTTP的一个棘手部分,很容易出错