我维护的线上服务里,大部分都在海外,当时考虑到以后应该要在国内用一些资源,就依旧备案了一个国内域名,平时放一个空壳主页在这个域名上,一些服务,我的统计服务、评论后端、博客旧图片的 CDN、以及密码库,都放在这个域名上,以求更快的访问速度。对于博客的一些前端资源,比如评论前端、jQuery(只是个例子,我的博客并没有用到 jQuery),我也尽可能采用了国内的前端资源库,像是字节公共资源库、以及我不久之前还在使用的 staticfile.net。
看了标题,想必你也知道了,不管是国内的前端资源库,还是博客旧图片的 CDN,我都已经弃用,现在你访问我的博客,所有的前端资源以及博客上的旧图片都不再将从国内加载。
前端资源
年初 polyfill.io 被国内公司收购的事情一地鸡毛,不久前,polyfill.io 被供应链投毒1,超过 10 万个网站收到影响,安全研究人员发现,植入的恶意程序使用假的 Google 分析域名www.googie-anaiytics.com
将移动设备用户重定向到博彩网站。同时受影响的还有 bootcdn 和 staticfile。
这件事情影响恶劣,但促成我直接弃用 staticfile 的,是这件事情带来的连锁反应,uBlock Origin 因这件事屏蔽了我前不久正在使用的 staticfile.net2,而我自己平时也在用 uBlock Origin,这就直接促成了我将 staticfile.net 替换回了 JsDelivr。
旧图片
再就是旧图片 CDN,这个 CDN 原本采用了腾讯云 CDN,用以加速中国境内的图片访问,大部分图片经过压缩,加上旧图片访问的人本身就比较少,用了一年有余,期间平安无事,无非每月花一两块钱。直到有一天我打开自己的博客,发现以前的文章很多图片无法正常加载,才意识到出了问题。登录控制台一看,好家伙,一个山西 IP 刷掉了我 20G 流量,好在我设置了超量停止服务,否则不知道现在要给腾讯云上供多少:
于是我屏蔽了这个 IP 段,开了 CC 防护,又在腾讯云上充值 20 元,重新开启了 CDN 服务。本以为到这里就结束了,泡了杯茶,准备休息。
结果茶还没凉,腾讯云的短信又来了:
这次还换了一个 IP 段:
目前,网上只要一搜索,遇到类似情况的站长很多,V2EX 上也有相关的讨论,大部分网友认为是跑 PCDN 的厂商干的好事34。
我懒得跟他们玩,直接把对象存储和 CDN 全都搬到了 Cloudflare,牺牲一点国内访问速度就可以了,无所谓,反正看我博客的人大部分都有代理。
迁移的过程无非就是搬存储桶,套 Cloudflare,因为在 Cloudflare Dashboard 上传有最高 100 个文件的限制,搬存储桶时我用到了 Alist 作为上传工具,其他就没什么好提的。
后记
就这样,我所有的服务彻底抛弃了国内 CDN。
看到近期接二连三的新闻,从 Docker Hub 镜像被通知关停,到 polyfill.io 投毒,再到自己亲历的被 PCDN 刷流量,这乌烟瘴气什么时候才能消散呢……
不管了,反正在这团乌烟瘴气消散之前,我的服务就安心待在海外了。
推测可能与运营商省间结算政策施行后,某些地区的高上传家宽(例如 PCDN 等)为了躲避运营商封杀,降低“上传/下载”比例,人为刷下载流量的行为有关。 ↩︎