discourse CDN brotli 压缩算法不一致缓存导致js乱码七牛工单解决记录
工单号: 173839 提交时间: 2019-09-17 15:41 状态: 受理中一键投诉关闭工单沟通记录
附加信息:
绑定域名: qiniucdn.bigwx.com王为2019-09-17 15:41
域名升级 HTTPS 处理中,免费证书申请耗时相对较长,平均15分钟完成,期间域名访问不受影响,部分配置不可修改,若长时间未配置完成,请提交工单反
七牛云工程师2019-09-17 15:46
您好,
麻烦您这边稍等一下,这边给您查看下
七牛云工程师2019-09-17 16:18
您好,该域名qiniucdn.bigwx.com已经升级完成,您确认下。
王为2019-09-17 20:32
现在是完成了,但是header信息处理掉了变成了乱码
我查到别人的是这样解释
You’ll note that the CDN has stripped the important header:Content-E
ncoding:
brt
hat tells the browser “this response is brotli-encoded”. So it can’t interpret it properly.
You’ll need to change your CDN configuration to not strip this header.
header 被剔除了导致的?
所以七牛的cdn header在哪里设置

七牛云工程师2019-09-17 20:33
您好
麻烦您提供一下相关的资源链接
王为2019-09-17 20:58
七牛云工程师2019-09-17 21:02
您好,
这边需要您提供一下,您截图中这个乱码的链接地址
王为2019-09-17 21:05
七牛云工程师2019-09-17 21:13
您好,
你原本的这个js文件是什么样的呢?
王为2019-09-17 21:15
brotli_asset,估计就是这里,设置了brotli压缩??导致header信息被剔除?
王为2019-09-17 21:19
这个是原本的js
王为2019-09-17 21:35

https://meta.discourse.org/t/stackpath-formerly-maxcdn-invalid-or-unexpected-token/111589/4
这里有人说是,
Content-Encoding: br
造成的 curl 原本JS带有Content-Encoding: br 压缩, CDN没有这个压缩?
HTTP/2 200
server: nginx
date: Tue, 17 Sep 2019 13:26:38 GMT
content-type: application/javascript
content-length: 64514
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
x-download-options: noopen
x-permitted-cross-domain-policies: none
referrer-policy: strict-origin-when-cross-origin
x-discourse-route: static/brotli_asset
expires: Thu, 17 Sep 2020 13:26:38 GMT
last-modified: Tue, 17 Sep 2019 08:57:25 GMT
content-encoding: br
content-transfer-encoding: binary
cache-control: max-age=31556952, public, immutable
x-request-id: 98666a68-4b27-46fb-b75e-f2a3e46d0b18
x-runtime: 0.050182
七牛云工程师2019-09-17 21:35您好,牛小七感知到您的问题很急切,工程师将迅速与您沟通处理。您也可以直接拨打 400-808-9176 电话热线,转 2 号线技术支持,获知目前工单的处理进度,感谢您对七牛的支持。七牛云工程师2019-09-17 21:38
您好,
麻烦您稍等,这边给您看下
王为2019-09-17 21:46

我这边是nginx,是支持br压缩,你们好像是Tengine服务器??
上面是gzip压缩?估计就是这个压缩方式导致的?
七牛云工程师2019-09-17 21:55
您好,
是的,这边看到,是Content-Encoding 导致的问题,目前都是gzip的
王为2019-09-17 22:01
怎么解决呢?没有Brotli压缩选项?不支持??
又拍云2017年就支持这个压缩了

七牛云工程师2019-09-17 22:03
您好,
麻烦您稍等,这边给你调整一下,您稍后在看下
王为2019-09-17 22:05
好的
七牛云工程师2019-09-17 22:22
您好,
这边调整到了此又拍的线路,这边查看到,已经是Accept-Encoding:br

王为2019-09-18 10:30

我这边还是gzip压缩的?
王为2019-09-18 11:04
在吗??
七牛云工程师2019-09-18 11:09
您好
您那边清理下浏览器缓存再试下呢,这边访问后测试是显示 br

王为2019-09-18 11:12
我已经清理过了,也强制刷新,都是一样的结果
王为2019-09-18 11:12
多个浏览器尝试也是一样的结果
七牛云工程师2019-09-18 11:15
您好
您这样访问资源试下呢,url 后添加随机参数:https://qiniucdn.bigwx.com/brotli_asset/locales/zh_CN-7185df1bb3b58a7e266a04461377b0fd5a325d9aca2d52c3838bfc4d31b60bf3.js?aaa
王为2019-09-18 11:18

现在已经是br压缩,为何还说乱码呢?
七牛云工程师2019-09-18 11:33
您好
您的 js 是有什么特殊配置吗,这边您的线路已经是又拍线路,并且 Content-Encoding 已经是 br
这边即使是 gzip,也没有乱码

王为2019-09-18 11:34
能帮我检查下哪里问题呢:
原本JS文件
CDN jS文件

七牛云工程师2019-09-18 11:37
您好
您那边方便先在 bucket 中把 /brotli_asset/locales/zh_CN-ad61e60cd806421e0d5dfbdc8c86984a836eabb9482778689754513315f123c0.js 删除,然后重新上传这个 js(https://bigwx.com/brotli_asset/locales/zh_CN-ad61e60cd806421e0d5dfbdc8c86984a836eabb9482778689754513315f123c0.js) 测试下吗
王为2019-09-18 11:39
恩嗯,明白了,是自动传到bucket中了
七牛云工程师2019-09-18 11:41
您好
好的呢。
王为2019-09-18 12:07

全部删除了
王为2019-09-18 12:09
是不是要重启服务器?
firfox我都删除缓存了

还说有个这个链接

王为2019-09-18 12:11

304是代表啥意思?
七牛云工程师2019-09-18 12:11您好,牛小七感知到您的问题很急切,工程师将迅速与您沟通处理。您也可以直接拨打 400-808-9176 电话热线,转 2 号线技术支持,获知目前工单的处理进度,感谢您对七牛的支持。七牛云工程师2019-09-18 12:21
您好,304 表示 命中本地浏览器缓存
七牛云工程师2019-09-18 12:23
您好
这边直接从您的源站下载资源后,编码是有问题的,本地无法打开
您的源站是否有特殊设置的

王为2019-09-18 13:23
原本的js是这个

没有问题啊,直接在浏览器里面可以打开 七牛云工程师2019-09-18 14:03
您好
这边是从这个 url 下载的呢,这边又重试了下,还是无法正常预览,提示编码格式有问题

王为2019-09-18 15:33
你把那个地址发我看看?
原始地址都没有问题啊,也就是你们的CDN服务器,镜像过来,才出现问题的吧??七牛云工程师2019-09-18 16:16
您好
这个就是您提供的原始资源,您那边下载到本地打开测试也是可以进行测试的

王为2019-09-18 21:26
linux 我下载也是乱码
但是为何 windows 浏览器打开没有问题?
下载到本地打开也没有问题?

王为2019-09-18 21:38
windows下载的js文件,上传到linux打开是没问题

linux 直接 wget 或者 curl 为啥就是乱码呢??

七牛云工程师2019-09-18 21:48
您好,这是您使用的终端的编码问题。
王为2019-09-18 22:46
居然可以了

看来就是 brotli 压缩的算法问题,后面一直是缓存。