最近我的博客图床服务又拍云费用飙升,花了些时间分析优化,目前成本已经降至0.2元/天左右,免费额度够用。

一、异常飙升的又拍云费用

我使用又拍云作为博客的图床服务,因加入他们的联盟计划,每年有67元的代金券。在2023年之前,代金券足够覆盖我一年的存储和流量费用。

然而,从2023年下半年开始,每隔一段时间会收到欠费通知,恰逢彼时我开始恋爱并经常发布旅行日记,我推测是大量旅行照片导致费用增长,因此我直接充值,未深入研究。

充值记录
充值记录

到今年,费用继续攀升,情况进一步加剧了,上图是我的又拍云充值记录:

  • 3月1日充值100元,5月12日用完,共73天
  • 5月12日充值100元,6月19日用完,共38天

按照这个节奏,我一年需要1000元左右的云存储费用。但我的博客日均仅50-100访客,并且今年以来博客流量并没有显著增长,但云存储费用却像坐火箭似的节节攀升,十分诡异。

所以,6月19日,我只充值了10元,保证网站短期仍然可以访问,同时着手调查此事。

二、分析原因

首先,我查看了统计中的热门文件,哪些文件被访问的最多。

6月19日热门文件
6月19日热门文件

如上图显示,2024年和2023年的4个文件当天流量能达到五六个G,分别是:

排名第1的文件产生6.204G流量,是乌镇的「坑车」停车位中的这张图——难道是这家公司因我的吐槽而进行报复吗!!

第1名
第1名

第2名和第4名均是五一常州行中山介咖啡馆的图:

第2名
第2名

第4名
第4名

第3名是绝版书《奇特的一生》、录制播客、线下脱口秀中门票照片:

第3名
第3名

如果查看6月18日的热门文章,top4一模一样。

6月18日热门文件
6月18日热门文件

这些文件怎么可能被访问1000次/天,显然属于非正常流量。

接着,我进一步下载又拍云访问日志明细,查看这些文件的访问明细信息,访问明细中的IP地址与热门IP能对应的上。然而,这个IP地址究竟是谁,为何爬取我的数据,我无从得知。我怀疑过是不是又拍云为了创收而进行的操作,但没有证据。

6月19日9点访问明细
6月19日9点访问明细

6月19日热门IP
6月19日热门IP

三、降本优化

我主要从两个方面进行降本优化。

第一,在又拍云的云存储后台添加访问控制,包括:

  • 打开IP黑名单,把这些IP拉黑
  • 打开Referer防盗链,使用白名单并禁止Referer为空,从访问日志看到,这些非正常流量均没有Referer
  • 打开User-Agent防盗链,使用黑名单并禁止User-Agent为空
  • 打开IP访问限制,一分钟访问超过N次,直接禁止IP

限制访问后RSS阅读器也抓取不到图片,影响RSS阅读体验,因此我索性关闭了RSS全文输出,改为摘要。

第二,将博客的图片压缩为webp格式,并设置最大边长不超过1200px,几M的照片均被压缩为几十到几百KB,压缩率能达到90%,大幅减轻流量负担。经过压缩,阅读体验未受明显影响。

我使用Obsidian写博客,使用Image Converter插件压缩图片,设置好之后,能够在复制粘贴图片时自动完成压缩,对于已经的文章,也可以一键执行图片压缩替换,操作便捷。

下面是我的日账单,6月21日完成优化后,费用显著下降。同时又重新申请了联盟代金券,按平均0.2元/天的费用,一年67元代金券,基本够用,相当于免费使用了。

日账单
日账单

事实上以我现在博客流量规模,每年支付不超过100元也能接受,所以2023年和2024年每年充值也没有犹豫,实在是2025年费用增长过于离谱了。

分类: 折腾 标签: none

已有 38 条评论

  1. 以前也纠结图床,后来发现其实没多少图片,直接放自己服务器

    1. 图片不多,也不总是迁移博客,本地是很方便的

  2. 自从换掉服务器,用了手搓的静态博客,图床都不用了,直接把图片转换为webp格式,然后用base64硬编码到HTML里,哪怕迁移博客,都不用管图片链接的问题,一个HTML就是一篇文章,一劳永逸。

    1. base64这个太绝了吧,思路被打开了。

  3. 我目前也是又拍云,最近打算迁移到cloudflare上,最主要还是CF会免费提供基础的防护功能,不用担心DDos,之前被人攻击过一次,花了我一顿火锅的钱😭国内的WAF都要钱,没有基础免费版可以用

    1. 我继续观望中,CF也是我的选项之一。

  4. 我目前全放本地了,后续体积大起来再看情况用不用图床

    1. 这个「后续」估计不会到来。以现在服务储存空间来说,普通博客不会不够用。

  5. 赛博vercel+CF,每年除了域名之外没有别的,也不用担心被刷流量。

    1. 哈哈,最低成本的方案。

  6. 我与又拍云是20年接触的,刚开始因为活动参加的多,送了一次1000元的优惠券,以为一天2毛钱,压根用不完,直到被别有用心的人恶意刷流量。一晚受到约 50 ~ 300GB 的恶意流量,67.5元一日的账单让我蒙圈,立刻把后台能开的防护全开了。
    用了快一年,收到又拍云联盟代金券申请规则更改通知的邮件,不会自动续约了,充了几十块钱过渡后决定不能对云储存有过多的依赖,刚好轻量云走进了市场,带宽不再是小水管。本着长痛不如短痛,把云存储上的所有文件拉取到了本地,随后服务全部本地化。
    4 年后,光有 CDN 服务的几乎没流量的静默博客遭到了超出想象的刷流量,一看账单二十多,直接就决定连 CDN 服务都不用了,写个日记也没有营收还要买单,顶不住。
    最近,完成了一次搬家迁移,所有服务本地化,采用双节点+CF的思路,年费用降低到30元,目前已经两个月,不在乎稳不稳定也不追求一秒就能打开的速度了。

    1. 我就卡在嫌麻烦这一步,没迁移到本地。
      还有个顾虑导致我没迁移到本地,如果后续改变博客托管方式,比如想用hugo之类的静态博客,图片处理又不方便。图床就不会有这个问题。

      1. 虽然部署在本地,图床依旧可以远程上传,上传后后台会自动转换为webp格式

  7. 我早就不用国内的云服务作为图床了,阿里云oss、又拍云都用过,有段时间发布的图片文章比较多,流量费用1天1块钱地跑,看得我很焦虑。后来改成cloudflare的R2对象存储做图床,每个月不限流量,因为之前的图床域名是结构化的设计,我只需要把阿里云oss图床的图片打包下载到本地,再借助一个国外付费软件软件的试用版,把图片传到cloudflare,买个.xyz的纯数字域名10年就几十块钱,把文章配图的链接批量替换前缀就行。现在一点也不担心流量问题,速度也挺快。(couldflare的R2开通需要绑定信用卡,不过不会扣款,都是免费的)

    1. 我如果迁移,也可以这么操作。
      R2的cdn,国内速度你觉得如何。
      我访问你网站倒是觉得还好。

      1. 我一直没用CDN,博客静态文件储存在阿里云OSS,图床在R2。

        1. 如果单纯访问R2管理后台,会感觉很慢,但改造成图床后,搭配upic图床客户端,每次上传图片不用登录后台,引用的链接访问速度挺快的,用R2一年多了,一直很稳定。

    2. 用我这方法一年省100块钱。用来续费域名不好嘛,哈哈

  8. 哈哈哈恋爱费钱。
    目前用阿里云的200M不限流量,超过200G以上可能会限带宽,所以也没用图床cdn之类。

    1. 我想过把图片都放回typecho的目录,但一想就觉得麻烦,暂时搞定了费用问题,就不折腾了。

  9. wcsay wcsay

    果然,RSS已经看不到图片了,只能多点一次来博客看图片。

    1. 哈哈,没办法,权宜之计。

  10. 同用的又拍云。
    一般都是被刷流了,我也经常关注,目前也设置了一些防盗链手段,但是感觉真要刷咱们也没有啥办法,上次被刷过一次,我直接关站一个星期求饶。

    1. 如果被针对了,我也只能关站了。太复杂的技术搞不定。

添加新评论