【问题标题】:Varnish HitPass debuggingVarnish HitPass 调试
【发布时间】:2012-12-01 16:52:07
【问题描述】:

我注意到我的一个网站上的一个问题,即我的内容页面(不应该设置任何 cookie,都应该返回设置了 max-age 的“Cache-Control: public”,并且不需要授权)。

我的问题是 HitPass 对象以某种方式进入了我的缓存,从该页面中删除了缓存。我需要对此进行调试,但对如何最好地执行此操作感到困惑,尤其是因为我无法复制该问题。

我注意到 varnish 在 varnish 日志中的 HitPass 旁边给了我一个 ID。我假设这是生成 HitPass 的请求的清漆 ID,并且在清漆日志中搜索会告诉我响应到底出了什么问题?

从我想要缓存的页面中删除 SetCookie 标头会更好吗?问题是,即使传递了一个URL,也会调用vcl_fetch……有没有办法在vcl_fetch中判断当前请求是否已经被vcl_recv传递了?

【问题讨论】:

    标签: varnish varnish-vcl setcookie


    【解决方案1】:

    SetCookie 确实是您在缓存中获得 hit-for-pass 对象的一个​​原因。这是对未准备好的站点的重要优化。 hit-for-pass 将让 varnish 为这些请求中的每一个直接进入后端,而不是拖延它们并等待前一个请求的响应。

    我不确定您到底要调试什么。如果它是 set-cookie,您可能应该从后端删除它,或者对缓存哪些内容或缓存中忽略哪些内容制定自己的规则。如果您仍然需要 set-cookie 并且它具有唯一值,那么“hit-for-pass”是最好的方法。

    【讨论】:

      猜你喜欢
      • 2015-11-28
      • 1970-01-01
      • 2012-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-23
      • 2016-05-29
      相关资源
      最近更新 更多