Varnish 3缓存也登录了页面

时间:2012-02-02 11:46:02

标签: drupal-6 varnish pressflow

我在没有运气的情况下挠了头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 Backend。

任何帮助都将受到高度赞赏。

此致

Raheel

2 个答案:

答案 0 :(得分:0)

“drupal pressflow varnish”的前三个谷歌搜索结果是黄金。 2发布,因为我显然没有足够的代表,但osuosl博客文章真的很好,如果可能有点过时

  1. http://www.lullabot.com/articles/varnish-multiple-web-servers-drupal
  2. https://wiki.fourkitchens.com/display/PF/Configure+Varnish+for+Pressflow
  3. 此外,您永远不应该修改Drupal的核心代码。它会让你的生活升级变得悲惨,任何你想要做的事情几乎可以肯定地用积分点来管理,也许是一个小小的聪明才智

    最后,正如您将在链接文章中注意到的那样,没有理由设置自己的cookie,因为Pressflow和Drupal 7+已经优化了会话创建,因此会话cookie已经提供了您正在寻找的功能。

答案 1 :(得分:0)

我知道这是一个老问题,但我想我可以就此提供一些意见。

我还不知道Varnish的语法,但是在注销时你可以将cookie的值设置为空。然后你可以从VCL的标题中删除所有空的cookie。这将使清漆按照您的意图行事。