如何防止Varnish在Plone前面缓存/login_form



在我的Plone网站上,当用户转到特定的页面p,然后单击"登录"并成功完成登录过程时,她会被重定向到主页或随机页面,而不是页面p。

我认为这是因为page/login_form是从Varnish缓存中提供的,并且在缓存时包含来自其他用户的隐藏came_from字段:。

什么是防止/login_form缓存的好方法,也许还有其他具有相同机制的页面的缓存?

难道缓存配置工具(CacheFu/CacheSetup)不应该处理好这一问题,并使用/login_form发送标头以阻止缓存吗?

我在Plone关于Varnish的文档中找不到任何关于这个问题的信息。

我在Debian Linux 7.6上使用Plone 3.3.5和缓存配置工具(CacheSetup 1.2.1)以及前面的Varnish 3.0.2(Client<Apache<Varnish<Plone)。

由于不熟悉Plone,我无法评论Plone的配置。但是为了防止/login_form URL被缓存,您可以使用以下vcl_recv()

sub vcl_recv {
  if (req.url == "/login_form") {
    return(pass);
  }
}

有一个有用的清漆conf,使用它-http://docs.plone.org/manage/deploying/caching/varnish.html#varnish-3-x示例

ps:启用授权的代码行:

if (req.http.Authorization || req.http.Cookie) {return (pass);}

相关内容

  • 没有找到相关文章

最新更新