曾经多次有身在国外的小伙伴给我说我的博客部分图片无法正常访问,我一直以为是网络问题,直到今天折腾另一个博客的缩略图问题时才反应过来,造成国外部分图片无法打开的原因是我国内国外使用了不同的 CDN。
原本使用不同的 CDN 并不会造成国内国外部分访问不正常的问题,问题出在我国内使用的又拍云CDN支持图片在线处理,可以帮我优化我的缩略图,将缩略图直接云端线上即时处理为静态图片文件,而不用我本地动态利用服务器去裁剪,可以大大的缓解服务器的资源消耗,同时节约带宽,为访客提供更快的访问速度。
强大的又拍云可以直接在需要裁剪缩略图的图片名后面加上间隔标识符就行了,我也根据需要修改了 wordpress 的相应文件,这样又拍云是用得很舒服了,然而,国外线路我走的是 Cloudflare 的免费 CDN,可 CF 并不支持又拍云式的图片处理。就这样所有缩略图在国外都无法打开。
发现这个问题后,第一反应是关闭 CF CDN,所有路线均由又拍云处理,这样的好处是配置简单省事,麻烦事是又拍云免费的额度不够,流量费很可能会超,作为羊毛党是不可能花不必要的钱的。
第二选择,也是突然想到了,小石同学曾说过,他折腾过多个 CDN 连环套,其中就包含了 CF CDN,于是,我动手折腾,将 Cloudflare 原本应该回源到服务器的配置,修改为回源到又拍云,即,将又拍云作为源站,CF 继续做海外的 CDN 前端。同时,将缓存级别配置为 全部缓存 或者 忽略动态查询。验证后,完美搞定。
至此,国外的小伙伴就能看到我的缩略图啦,同时,缩略图全部都是静态图片了,访问速度大大的有提升。