我在没有运气的情况下挠了 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 后端。
任何帮助将不胜感激。
问候,
拉希尔
最佳答案
Google的“drupal pressflow Varnish ”的前3个结果是金。 2个发布是因为我显然没有足够的代表,但是osuosl博客帖子确实很不错,如果有一点过时的话
另外,您永远不要修改Drupal的核心代码。这将使您的生活升级令人痛苦,您想做的任何事情几乎都可以通过集成点和一点点机巧来解决。
最后,正如您在链接的文章中会注意到的那样,没有必要设置您自己的cookie,因为Pressflow和Drupal 7+已经优化了 session 创建,因此 session cookie已经提供了您想要的功能。
关于drupal-6 - Varnish 3缓存也已登录页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9111773/