全球主机交流论坛

标题: 问个nginx缓存清除问题 [打印本页]

作者: ninqq    时间: 2018-6-16 16:26
标题: 问个nginx缓存清除问题
因为有登陆用户所以 缓存的时候加了个cookie  

  1. proxy_cache_key "$host$request_uri$cookie_name";
复制代码


配置的purge

  1.     location ~ /cache(/.*) {
  2.     proxy_cache_purge cache $host$1$is_args$args;
  3.     error_page 405 =200 /cache$1;
  4.     }
复制代码



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


换成下面这样的也不行
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
head输出【$host$1$is_args$args】和【$host$request_uri$cookie_name】看看对不对就行了。
个人不建议proxy_cache_key太复杂。
作者: ninqq    时间: 2018-6-16 16:52
qqqq 发表于 2018-6-16 16:38
head输出【$host$1$is_args$args】和【$host$request_uri$cookie_name】看看对不对就行了。
个人不建议prox ...

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

那除了proxy_cache_key 还有啥其他办法么
作者: 002    时间: 2018-6-20 12:47
本帖最后由 002 于 2018-6-20 12:50 编辑

是不是看了张戈的 ngx cache purge  ?
不是有一个判断,规则里面不加 所有访问者 缓存 就行了。?
  1.         #对登录用户、评论过的用户不展示缓存(这个规则张戈博客并没有使用,所有人看到的都是缓存)
  2.         if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") {
  3.             set $skip_cache 1;
  4.         }
复制代码





欢迎光临 全球主机交流论坛 (https://loc.998820.xyz/) Powered by Discuz! X3.4