问题:

之前在搭建腾讯云COS图床的过程中,查阅资料时留意到了有小伙伴说有被盗刷的风险,于是上网查阅了一下相关资料,还真是!(这个图里的兄弟太惨了😂)

参考链接:https://cloud.tencent.com/developer/article/2239296?areaSource=100001.4&traceId=kQzP3W3NM0uma1MVnz5AP

image-20240201162806623

于是升级图床的安全性防护就很有必要,查了N多方案后,了解到可以通过CDN加速的方式提高图床的安全性,有效防止盗刷流量。

思路:

  1. COS桶设置私有读写,禁止空refer访问;
  2. 设置私有读写后,直接使用COS桶的默认url就无法访问桶内的资源了,怎么办呢?这时候CDN就出场了
  3. 使用子域名配置一个CDN,指向COS桶的URL,腾讯云会提示授权给cdn访问COS桶,点击确认授权
  4. 上一步授权后,CDN就可以访问私有读写的存储桶了
  5. 等CDN部署完成,就可以使用CDN加速的域名访问我们存储桶内的资源,大功告成!🥳

具体操作:

需要前置知识:CDN,域名

知道原理以后操作就很简单,我这里就暂时先不复现了,后面有时候可能会更新。

为图床绑定域名以后,图片的url中的host部分就变成了cdn加速的域名,这时候我们需要在Picgo中更新一下设置,使上传后返回的url为正确的链接

image-20240202180538152

添加自定义域名:

image-20240202180624476

优化:

如果你使用的CDN支持,你还可以进行下列的优化:

  • 配置CDN开启图片压缩
  • 配置CDN设置防盗链
  • 配置CDN开启webp图片格式自适应
  • CDN设置流量封顶(防盗刷CDN流量)

结果:

配置完CDN以后,图床的访问方式就从直接访问存储桶,变成了访问CDN边缘节点上缓存的镜像资源。这时,流量的计费方式也就从对象存储转移到了CDN加速。

对比一下CDN流量费用了COS访问的流量费用可以发现CDN更便宜,访问速度也更快,安全性和性能和成本都得到了极大优化,美滋滋😎

最后去存储桶控制台监测一下盗刷风险,附上我的监测结果,看到一片绿感觉成就感满满有没有!😆

我用的是EdgeOne,腾讯云推销服务器的时候顺便买的,说是新一代的CDN,目前存储桶好像还检测不到,其实效果是一样的

image-20240201165703824