CDN如何配置才能不为管理员缓存

标签: 

正在查看 8 个帖子:1-7 (共 7 个帖子)
  • 作者
    帖子
  • suiyilight
    • 文章数量: 25
    @suiyilight
    楼主

    在wp中使用cdn缓存,经常会因为缓存我的登录状态页面,导致一些问题,比如工具条,评论区登录状态,问有什么办法避免这个问题

    来自, 山东, 中国
    孙锡源
    • 文章数量: 704
    @ibadboy

    现在很多CDN都具有边缘规则功能,其原理就是在边缘节点上执行用户设定的脚本。

    于是就可以利用这个功能来实现对符合某些条件的网页不缓存。

    WordPress的登录状态记录在网页Cookie里,其中有一个字段:wp-settings-用户ID。

    我们只需要判断wp-settings-1存在(管理员的ID是1)则不缓存网页即可。

    举例子:

    为了方便复制,改写规则贴在这:$_URI?is_admin=$_RANDOM&$_QUERY

    更多的控制方法可以参考CDN的边缘规则文档,总体思路就是判断是否存在wp-settings-1这个Cookik字段,存在就为请求附加随机字符串,然后CDN设置一下对URL查询参数全程跟随,这样就会为管理员生成单独的缓存,而不会影响普通用户了。

    来自张家口市, 河北省, 中国
    qwer1720346159
    • 文章数量: 46
    @qwer1720346159

    国内目前只有云盾和又拍云支持cookie判断缓存。

    来自福州市, 福建省, 中国
    孙锡源
    • 文章数量: 704
    @ibadboy

    百度云加速支持完整的Node.js,理论上也可以实现吧

    来自张家口市, 河北省, 中国
    qwer1720346159
    • 文章数量: 46
    @qwer1720346159

    可是有多少人会用呢,要知道那个是按次收费的。

    来自福州市, 福建省, 中国
    zuoridangnian
    • 文章数量: 10
    @zuoridangnian

    很好奇为啥你会遇到这个问题,

    我用的阿里云CDN加速,

    域名解析到CDN,CDN解析到服务器IP。

    用过后一切正常,没有遇到过你说的这个情况。

     

    会不会是缓存插件导致的呢?

    来自东莞市, 广东, 中国
    孙锡源
    • 文章数量: 704
    @ibadboy

    可能是原因是CDN缓存策略配置的不同:他缓存了页面,而你只缓存了css、js、图片这些静态资源,对于页面则直接回源。

    这种情况下,他就会碰到管理员的工具条被缓存上的问题,但是你那边却一切正常。

    来自张家口市, 河北省, 中国
    suiyilight
    • 文章数量: 25
    @suiyilight
    楼主

    情况正如孙锡源说的那样,cdn默认只缓存cssjs图片这些文件,对页面不会缓存。

    而我是尝试开启了全部缓存,由于我是第一个访问的,cdn会直接缓存我访问的页面,出现诸如管理条,评论区评论框被缓存的问题

    来自潍坊市, 山东省, 中国
正在查看 8 个帖子:1-7 (共 7 个帖子)
  • 哎呀,回复话题必需登录。

话题信息