很高兴和你相遇
这里正在记录我的所思所学
邮箱 [email protected]
首页 归档 想法 通讯 播客 工具 简历 关于

Gitee图床被禁?云对象存储配合CDN方案以及图片批量迁移方法

今天好几个小伙伴反馈Gitee不能再当作图床使用了,问有没有更好的markdown图床替代方案。

1
我最早一直用GitHub当图床,从2019年中开始改用腾讯云,用到现在感觉腾讯云对象存储配合腾讯云自己的CDN就是一个还蛮不错的图床方案。

首先腾讯云国内访问的速度绝对是快的,之所以建议配合CDN主要是基于两方面的原因,一是购买流量包的价格整体更划算,首次使用一般还会送半年的流量包,非流量大户妥妥的够用;二是相比于对象存储本身,CDN有着更加丰富的访问权限控制设置,可以防盗链以免被白嫖流量。

我的云存储的使用情况

用到现在大概是有5个G的存储量。

平均每个月的费用就是七八块钱。

你可能注意到今年2月和3月出现了两次异常,原因是我的域名被一个IP盯上了,每天都会遍历一遍域名下的所有图片。所以直接一个月干掉了我60多G的流量。

对象存储防盗链设置规则

这里就需要提到腾讯云对象存储的防盗链设置规则。

腾讯云对象存储本身只支持设置黑白名单二选一,对于大多数人都是设置为白名单更加合适,同时为了能够在本地编辑器(比如typora、VScode和Obsidian)中正常显示图床图片还需要允许空的referer。这就带来了一个很大的问题,如果一个垃圾IP利用空referer规则疯狂读图单纯靠这个规则就招架不住了。

CDN 访问控制设置防盗链

为了更好的配置防盗链规则,这里就推荐云存储结合CDN的配置方案。这样一个通过CDN访问的图片链接首先会遵守CDN自己的访问控制规则,通过之后会再去匹配对象存储的防盗链规则。

推荐的配置方案如下:

首先使用白名单指定可以访问的http地址,然后允许空referer使得本地可以正常显示图片。如果有明确的垃圾IP地址持续攻击,还可以在IP黑名单设置中输入对应的IP段进行过滤。

最后,为了应对可能存在的恶意访问,还可以设置单节点IP每秒钟的访问次数(15或者30基本都可以)。用这个方式就可以杜绝大多数持续性无差别的恶意访问了。

CDN使用效果监控

腾讯云的CDN数据分析后台上基本的数据都可以看到。

比如你可以通过TOP1000 URL 看到那个文件(图片)被访问的此时最多,通过TOP100 Referer 可以看到自己哪篇博客文章被访问的此时最多,通过TOP100客户端IP还能看到哪个IP地址访问的最多。这几个信息都还是蛮有用的。

批量迁移图床

好了,最后一个问题就是如何能够尽可能方便的批量迁移图片。这里推荐一个我曾经使用过的方案供参考。

目前我在使用的本地图床工具是PicGO,软件本身有不少插件可以配套使用,其中有一个插件叫做pic migrater 就是用来批量迁移图片的。

这个插件支持设置需要迁移图片链接的匹配方式,还可以选择需要操作的文件或者文件夹。

以及,如果你使用了CDN,记得把PicGo的配置地址也改成CDN的网址哈。

OK,这篇就写到这里,下次再见👋


本文作者:思考问题的熊

版权声明:本博客所有文章除特别声明外,均采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 (CC BY-NC-ND 4.0) 进行许可。


· 分享链接 https://kaopubear.top/blog/2022-03-26-tencent-cloud-cdn-setting/