我挠头2天没有运气。我已经用 Pressflow 6 (Drupal) 配置了 Varnish 3,一切都很好,即 Varnish 正在缓存页面。现在的痛苦是即使在登录后 Varnish 也在缓存。因此,当我注销时,我仍然会看到您已登录的消息等。
我尝试在登录时在 modules/user/user.module 文件中设置一个唯一的 cookie,并修改 /etc/varnish/default.vcl 文件添加以下块。
if (req.http.Cookie ~ "(MY_UNIQUE_COOKIE)") {
return (pass);
}
现在一切都按预期工作,但在注销脚本中,我无法通过 PHP 完全删除 cookie,即将时间设置为负数。我相信在浏览器关闭/重新启动后,实际的 cookie 就会消失。
所以现在开始,如果我不关闭浏览器,cookie 就在那里,Varnish 总是将每个页面发送到 Apache 后端。
任何帮助将不胜感激。
问候,
拉赫尔