Varnish:向后端发送“If-None-Match”标头?

Varnish:向后端发送“If-None-Match”标头?

我想直接在应用程序中使用 etag 缓存/验证应用程序中的 eTag。如何将“If-None-Match”标头路由到后端?Varnish 似乎默认会删除此标头。

答案1

您可以将其重写为 varnish 不知道的不同标头,然后在后端读取该标头。

在 vcl_recv 的顶部,尝试:

set req.http.X-If-None-Match-Previously = req.http.If-None-Match;

然后读取应用程序中的 X-If-None-Match-Previously 标头。

我不确定这将如何与您的缓存交互,但如果 Varnish 从其后端请求中剥离它,它将传递标头数据。

答案2

好的,解决了:Varnish 不会删除 If-None-Match 标头。这只是我的 Web 应用程序在请求仍在传入时从缓存中提供的。Chrome 提供的是旧版本的页面。咳咳。咳咳。咳咳。

相关内容