使用清漆缓存管理cookie的Ruby on rails应用程序



我想在我新部署的rails web应用程序中实现varnish。

Rails版本3.2.12 with

Ruby 1.9.2p318 (2012-02-14 revision 34678) [i686-linux]

在我的应用程序中,用户身份验证是由cookie完成的,但是当cookie存在时,varnish不会缓存内容。所以我发现,对于登录用户清漆转发请求到我的应用程序。我对清漆很陌生,不知道如何解决这个问题。可能是我需要把一些块在完成配置文件。但事情是实时的,用户在使用我的应用。我已经停止了清漆。

我在这个博客中找到了解决方案Ruby on Rails, Varnish和用户依赖的内容,我认为根据博客的解决方案是:

一个简单解决这个问题的好方法是将应用程序cookie添加到Varnish用于查找缓存内容的哈希中。这在配置文件的vcl_hash函数中完成:

sub vcl_hash {
   if (req.http.Cookie ~ "your_application_cookie") {
     hash_data(req.url);
     hash_data(req.http.Cookie);
 return (hash);
   }
}

最新更新