V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
如果你希望学习 CDN 相关知识,那么建议你可以遍历以下软件的说明文档。
NGINX
cURL
xuancaixiaohai
V2EX  ›  CDN

阿里云 CDN 的大 bug,给用阿里云 CDN 的各位提个醒

  •  
  •   xuancaixiaohai · 2019-11-10 16:48:36 +08:00 · 5012 次点击
    这是一个创建于 1846 天前的主题,其中的信息可能已经有所发展或是发生改变。

    事情是这样的,最近写了一个小软件,登录的时候会从网站上读取 txt 数据,为了提升用户体验,就给 txt 套上了 cdn

    然而,使用了一段时间之后发现,在阿里云 CDN 控制台 刷新了 URL 之后 部分节点仍然返回给用户旧的缓存文件(返回的数据如果是 gzip 压缩的话,内容就是新的正常的,如果是没有进行压缩过的,内容就是旧的)

    大部分浏览器都是带 gzip 的,对于使用浏览器的用户基本没啥影响

    但是,像楼主这样放在 app、软件里面使用的话,因为一般软件不带 gzip,那影响就大了。

    排查了一个晚上,一直以为是软件没写好导致的问题,最后竟然意外的发现是阿里云的锅

    23 条回复    2019-11-11 04:11:30 +08:00
    mokeyjay
        1
    mokeyjay  
       2019-11-10 16:53:30 +08:00
    工单客服怎么跟你解释的?
    Athrob
        2
    Athrob  
       2019-11-10 16:55:14 +08:00
    加版本号啊, cdn 都这样, 不可能实时刷新.
    xuancaixiaohai
        3
    xuancaixiaohai  
    OP
       2019-11-10 16:56:50 +08:00   ❤️ 4
    已提交工单,经过一系列证明,最终,阿里云工程师承认了是阿里云节点刷新策略问题导致的 bug
    顺便吐槽一下阿里云的工程师,也太自大了吧!阿里云稳是没错,但是我把节点 IP,出现问题的情况都描述清清楚楚了,工程师连绑定 hosts 测试一下都懒得测试,就回复工单说没有问题,让我一度怀疑,这是不是阿里云的 bug。
    xuancaixiaohai
        4
    xuancaixiaohai  
    OP
       2019-11-10 16:58:13 +08:00
    @mokeyjay 工单一开始我明确提供节点+复现方法给阿里云,但是工程师一直不承认,经过一天的坚持,最终承认是节点刷新策略有问题
    xuancaixiaohai
        5
    xuancaixiaohai  
    OP
       2019-11-10 16:59:48 +08:00
    @Athrob 1.中午 12 点左右提交第一次刷新的,中间还刷新了 3 4 次 到晚上凌晨 1 点的时候 节点内容还没变,给十几个小时时间给 CDN 刷新够长了吧。
    2.刚才阿里云已承认问题,而且说是修复了
    Athrob
        6
    Athrob  
       2019-11-10 17:01:30 +08:00
    @xuancaixiaohai #4 被打脸
    Athrob
        7
    Athrob  
       2019-11-10 17:03:12 +08:00
    @xuancaixiaohai #5 嗯嗯, 避免阿里云 cdn 再出什么 bug, 可以对 cdn 访问加上版本号, 这样也不用手动刷新.
    shoaly
        8
    shoaly  
       2019-11-10 17:03:48 +08:00
    最好用还是 用 demo.txt?v=100
    xuancaixiaohai
        9
    xuancaixiaohai  
    OP
       2019-11-10 17:11:38 +08:00
    @Athrob 不好加啊 是放在软件里面的 软件成品发布之后就改不了 url 地址了
    xuancaixiaohai
        10
    xuancaixiaohai  
    OP
       2019-11-10 17:14:14 +08:00
    @shoaly 成品 app 发布之后咋控制这个 v=100 弄个动态页面控制的话又划不来,那还不如不用 CDN 了 直接源站访问 txt
    弄个静态页面控制 那不一样面临这个问题
    xuancaixiaohai
        11
    xuancaixiaohai  
    OP
       2019-11-10 17:23:04 +08:00
    整个事件最气人的就是阿里云工程师的态度了吧,花了几个小时发现是 CDN 的问题,但是在摆明问题、详细说明复现方法的情况下花了一天时间才让他们相信是 CDN 的问题
    akira
        12
    akira  
       2019-11-10 17:30:52 +08:00
    如果你不听 2l 8l 的建议,继续这样使用 cdn,照样会有类似的问题
    xuancaixiaohai
        13
    xuancaixiaohai  
    OP
       2019-11-10 17:37:57 +08:00
    @akira 我也想啊 关键是咋控制 ver 啊 app 发布之后不做改动 怎么变 ver 呢( app 版本可能几个月都不更新一次,变化的就是 txt 文本的内容)
    hasdream
        14
    hasdream  
       2019-11-10 17:42:57 +08:00 via Android
    加 不缓存头部信息 txt 后缀默认缓存的
    xuancaixiaohai
        15
    xuancaixiaohai  
    OP
       2019-11-10 17:45:30 +08:00
    @hasdream 额 不缓存 txt 文本吗? 但是一般 txt 这种文件都会在 CDN 里面设置成缓存把 所以我特意来 v2 给大家提个醒
    xuancaixiaohai
        16
    xuancaixiaohai  
    OP
       2019-11-10 17:46:46 +08:00
    根据阿里云说 这次问题不管带不带 gzip 都会返回旧的 也就是浏览器用户也会受影响
    imnpc
        17
    imnpc  
       2019-11-10 17:52:59 +08:00
    这种应该走单独的非 CDN 通道的 或者自己用策略定时刷新
    我们 APP 里面是访问接口获取版本号的 不会用 txt 静态文件
    xuancaixiaohai
        18
    xuancaixiaohai  
    OP
       2019-11-10 18:00:21 +08:00
    @imnpc 文本有 70kb 左右的内容 还有海外用户 加上文本内容半个多月才更新一次 所以就套了 CDN
    用策略定时刷新是什么意思?定时调用阿里云 CDN 的 api 刷新接口刷新吗?
    xuancaixiaohai
        19
    xuancaixiaohai  
    OP
       2019-11-10 18:05:32 +08:00
    是刷新策略问题,不是说只有 txt 文件才会受影响,所有被节点缓存的文件,比如 js、css、html 啥的都会受影响,我只是刚好用 txt 发现了
    czb
        20
    czb  
       2019-11-10 18:17:02 +08:00 via Android
    8L 的做法其实算是普遍的实现了
    Nicoco
        21
    Nicoco  
       2019-11-10 23:18:23 +08:00
    套路云也敢用,不被套路个几次都不叫套路云。

    用了套路云,有没有感觉被攻击的次数多了,套路云销售紫椒高防的电话也多了?

    顺便自来水一波良心云。
    Nicoco
        22
    Nicoco  
       2019-11-10 23:19:17 +08:00
    @Nicoco 打错字了,修改后:紫椒 -> 自家
    mingl0280
        23
    mingl0280  
       2019-11-11 04:11:30 +08:00 via Android
    @akira 阿里云有 bug 和客户如何实现特定功能的 bug 可以同时存在,且不能说客户用了 workaround 阿里云就没问题了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2635 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 01:51 · PVG 09:51 · LAX 17:51 · JFK 20:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.