如何根据Vary响应头配置Varnish有条件地忽略cookie?

时间:2018-05-18 20:06:26

标签: cookies varnish esi vary

我正在使用Varnish 3来缓存来自使用Edge Side Includes(ESI)的Web应用程序的响应。

ESI端点通常有两种类型的响应:

  • 有些是特定于身份验证的,因此响应使用Vary: Cookie, Accept-Encoding
  • 为所有用户缓存一些,无论Cookie如何,因此使用Vary: Accept-Encoding进行回复(不会因Cookie而异)

所有请求都包含带有各种Cookie的Cookie标头。使用Cookie回复没有Set-Cookie标头的请求。请注意,这不是__的情况 - 例如来自以下情况的前缀Cookie Google Analytics(分析) - 这些是遗留应用程序设置的Cookie,我无法更改此行为。

有没有办法*配置Varnish 3以记住来自各个ESI端点的响应不会因cookie而异,因此未来的请求应该完全忽略Cookie标头并使用缓存的响应而不是获取来自后端的新手?

(*)除了将URI硬编码到Varnish配置中之外,即我正在为Varnish寻找一种方法来尊重包含cookie的请求的无cookie Vary标头。< / p>

0 个答案:

没有答案