如何根据cookie

时间:2017-11-15 17:59:59

标签: ruby-on-rails caching nginx nginx-reverse-proxy

我正在开发一个电子商务平台,该平台为登录用户提供动态内容,但对于已注销用户,许多页面(如产品页面和类别页面)都是相对静态的。

Rails已配置为在访问时将特定已注销页面的副本保存到磁盘。

我希望nginx在检测到注销用户时提供这些文件。我们在用户登录时设置了一个cookie,所以我希望能够检查这个。

我的理想' nginx配置看起来像(在服务器块中):

location /my_location { 
    if (!$cookie_user_logged_in) { 
        try_files /cached_pages/$uri /cached_pages/$uri.html $uri $uri/index.html $uri.html @rails_application; 
    } 
}

然而,这是无效的,因为据我所知,基于研究和错误消息,不能将try_files放在if中。

有没有办法用nginx来实现这个目标?

我被告知我应该使用其他工具,如清漆。我也知道我可以在Rails中使用动作缓存来做事,并且片段缓存可以接近同一端。但是,在添加到技术堆栈或进一步投资开发之前,我想确定这是否是一个可行的选择。

0 个答案:

没有答案