1

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

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

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

所有请求都包含Cookie带有各种 cookie 的标头。没有标头的请求以Cookie响应Set-Cookie。请注意,来自例如 Google Analytics 的 - 前缀 cookie 不是这种情况__- 这些是由旧应用程序设置的 cookie,我无法更改此行为。

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

(*) 除了将 URI 硬编码到 Varnish 配置中之外,我正在寻找一种方法让 Varnish 尊重包含 cookieVary的请求的cookie 标头。

4

0 回答 0