我注意到我的一个网站上有一个问题,我的内容页面(不应该设置任何cookie,应该都返回"Cache-Control: public“,并设置了最大年龄,并且不需要授权)。
我的问题是,不知何故,HitPass对象正在将其放入我的缓存中,从该页面中删除缓存。我需要对此进行调试,但我对如何最好地这样做感到困惑,特别是因为我无法复制这个问题。
我注意到varnish在varnish日志中的HitPass旁边给了我一个ID。我假设这是生成HitPass的请求的清漆ID,如果返回到清漆日志中进行搜索,就会确切地告诉我响应出了什么问题?
从我想要缓存的页面中删除SetCookie头是不是更好?问题是,即使传递了一个URL,vcl_fetch也会被调用。有没有办法在vcl_fetch中判断vcl_recv是否已经传递了当前请求?
发布于 2012-12-14 04:07:09
SetCookie确实是您在缓存中获得命中传递对象的一个原因。对于未准备好的站点,这是一个重要的优化。对于这些请求中的每一个,点击即传将让varnish直接进入后端,而不是拖延它们并等待前一个请求的响应。
我不确定您到底想要调试什么。如果是set-cookie,您可能应该将其从后端删除,或者制定自己的规则来决定缓存哪些内容或忽略哪些内容。如果您仍然需要set-cookie,并且它具有唯一的值,那么击球传球是最好的方法。
https://stackoverflow.com/questions/13865945
复制相似问题