ninqq 发表于 2018-6-16 16:26:48

问个nginx缓存清除问题

因为有登陆用户所以 缓存的时候加了个cookie

proxy_cache_key "$host$request_uri$cookie_name";

配置的purge

    location ~ /cache(/.*) {
    proxy_cache_purge cache $host$1$is_args$args;
    error_page 405 =200 /cache$1;
    }


可以清除未登录用户的缓存 对于已登陆的缓存确无法清除


换成下面这样的也不行
proxy_cache_purge cache $host$1$cookie_name;
proxy_cache_purge cache $host$1$is_args$args$cookie_name;

有大佬知道这个改怎么写么

qqqq 发表于 2018-6-16 16:38:33

head输出【$host$1$is_args$args】和【$host$request_uri$cookie_name】看看对不对就行了。
个人不建议proxy_cache_key太复杂。

ninqq 发表于 2018-6-16 16:52:07

qqqq 发表于 2018-6-16 16:38
head输出【$host$1$is_args$args】和【$host$request_uri$cookie_name】看看对不对就行了。
个人不建议prox ...

0 0head输出 是浏览器查看么登陆了有看到登陆用户缓存无法清楚这个是配置写错导致的么

那除了proxy_cache_key 还有啥其他办法么

002 发表于 2018-6-20 12:47:27

本帖最后由 002 于 2018-6-20 12:50 编辑

是不是看了张戈的 ngx cache purge?
不是有一个判断,规则里面不加 所有访问者 缓存 就行了。?
      #对登录用户、评论过的用户不展示缓存(这个规则张戈博客并没有使用,所有人看到的都是缓存)
      if ($http_cookie ~* "comment_author|wordpress_+|wp-postpass|wordpress_no_cache|wordpress_logged_in") {
            set $skip_cache 1;
      }
页: [1]
查看完整版本: 问个nginx缓存清除问题