1

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

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

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

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

4

1 回答 1

0

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

我不确定您要调试的确切内容。如果它是 set-cookie,您可能应该从后端删除它,或者对缓存哪些内容或缓存中忽略哪些内容制定自己的规则。如果您仍然需要 set-cookie 并且它具有独特的值,那么通过点击是最好的方法。

于 2012-12-13T20:07:08.980 回答