全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 1832|回复: 3

问个nginx缓存清除问题

[复制链接]
发表于 2018-6-16 16:26:48 | 显示全部楼层 |阅读模式
因为有登陆用户所以 缓存的时候加了个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;

有大佬知道这个改怎么写么
发表于 2018-6-16 16:38:33 | 显示全部楼层
head输出【$host$1$is_args$args】和【$host$request_uri$cookie_name】看看对不对就行了。
个人不建议proxy_cache_key太复杂。
 楼主| 发表于 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 0  head输出 是浏览器查看么  登陆了有看到  登陆用户缓存无法清楚这个是配置写错导致的么

那除了proxy_cache_key 还有啥其他办法么
发表于 2018-6-20 12:47:27 | 显示全部楼层
本帖最后由 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.         }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-4-27 11:15 , Processed in 0.138220 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表