我已经挠了两天的头了,没什么好运气的。我已经用Pressflow 6 (Drupal)配置了Varnish 3,一切都很好,即Varnish正在缓存页面。现在的痛苦是Varnish即使在登录之后也在缓存。所以,当我注销的时候,我仍然会看到你的are logged in消息等。
我尝试在modules/user/user.module文件中设置登录时唯一的cookie,并修改了/etc/varnish/default.vcl文件,添加了以下代码块。
if (req.http.Cookie ~ "(MY_UNIQUE_COOKIE)") {
return (pass);
}现在一切按预期运行,但在注销脚本中,我无法通过PHP完全删除cookie,即设置时间为负。我相信浏览器关闭/重新启动后,实际的cookie就会消失。
因此,从现在开始,如果我不关闭浏览器,cookie就在那里,Varnish总是将每个页面发送到Apache后端。
任何帮助都将不胜感激。
致以敬意,
拉赫尔
发布于 2012-02-02 23:44:05
谷歌搜索"drupal pressflow清漆“的前3个结果都是金色的。2张贴,因为我显然没有足够的代表,但osuosl的博客帖子真的很好,如果可能有点过时
此外,您永远不应该修改Drupal的核心代码。它会让你的生活升级很痛苦,你想做的任何事情,你几乎肯定可以通过集成点和一点独创性来管理。
最后,正如您将在链接的文章中注意到的那样,没有理由设置您自己的cookie,因为Pressflow和Drupal已经优化了会话创建,所以会话7+已经提供了您正在寻找的功能。
发布于 2012-08-30 00:28:42
我知道这是一个古老的问题,但我想我可以提供一些关于这方面的意见。
我还不知道Varnish的语法,但在注销时,您可以将cookie的值设置为空。然后,您可以从VCL中的标头中剥离所有的空cookie。这将使清漆按照您期望的方式运行。
https://stackoverflow.com/questions/9111773
复制相似问题