查看: 103|回复: 3

问个nginx缓存清除问题

[复制链接]

314

主题

1505

回帖

4118

积分

论坛元老

积分
4118
发表于 2018-6-16 16:26:48 | 显示全部楼层 |阅读模式
因为有登陆用户所以 缓存的时候加了个cookie  

[ol]
  • proxy_cache_key "$host$request_uri$cookie_name";[/ol]复制代码

    配置的purge

    [ol]
  •     location ~ /cache(/.*) {
  •     proxy_cache_purge cache $host$1$is_args$args;
  •     error_page 405 =200 /cache$1;
  •     }[/ol]复制代码


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


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

    有大佬知道这个改怎么写么
  • 回复

    使用道具 举报

    45

    主题

    1439

    回帖

    3091

    积分

    论坛元老

    积分
    3091
    发表于 2018-6-16 16:38:00 | 显示全部楼层
    本帖最后由 002 于 2018-6-20 12:50 编辑

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

    使用道具 举报

    2

    主题

    51

    回帖

    128

    积分

    注册会员

    积分
    128
    发表于 2018-6-16 16:38:33 | 显示全部楼层
    head输出【$host$1$is_args$args】和【$host$request_uri$cookie_name】看看对不对就行了。
    个人不建议proxy_cache_key太复杂。
    回复

    使用道具 举报

    314

    主题

    1505

    回帖

    4118

    积分

    论坛元老

    积分
    4118
     楼主| 发表于 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 还有啥其他办法么
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关注公众号

    相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

    Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

    在本版发帖
    关注公众号
    返回顶部