本文分享一种基于对象存储+CDN的组合方案,可实现免费10G存储+无限流量的图片外链,同时配置自动水印功能,该方法理论适用于所有对象存储与 CDN 的搭配。

一、核心思路

以又拍云存储 + 腾讯云EdgeOne为例,通过对象存储存放图片并配置图片处理规则,再借助 CDN 的 URL 重写功能,实现访问图片时自动添加水印,且无需手动给每张图片链接加后缀。此方案不仅能避免图片被盗用,还能有效控制流量成本。

二、操作步骤

(一)对象存储端:配置图片水印处理规则

1). 选择任意对象存储 (本文以又拍云为例)作为图床,可直接上传图片或通过图床程序上传。
2). 在对象存储后台找到图片处理功能,选择间隔标识符,又拍云提供 ! _ - 三种可选。

20251003205107691

3). 创建图片处理规则,按需配置参数:

  • 1.若上传前已对图片做过压缩、格式转换等处理,建议仅开启添加水印功能。
  • 2.支持文字水印或图片水印,设置水印位置及相关参数。

20251003205107692

4). 点击预览按钮确认水印效果,满意后保存规则,务必记录规则名称 (如示例中的 shuiyin),后续配置会用到。

到此就可以进行实际图片测试了,比如原来的图片外链是https://img.gorpeln.top/gorpeln.png,加上前面设置的图片处理参数之后的格式就是https://img.gorpeln.top/gorpeln.png-shuiyin,这样其实还是没有达到目的,因为访问不带图片处理规则的原链接,还是没有水印效果的,想要最终实现不加参数又能加上水印,这就要去CDN加速那边设置了。

(二)CDN 端:配置 URL 重写实现自动水印

1). 进入腾讯云 EdgeOne 后台,找到图床域名对应的规则引擎。
2). 配置回源 URL 重写规则,参数设置如下:

  • 1.正则表达式:^/(.*\.(jpg|jpeg|png|gif|webp|bmp))$ (可根据实际使用的图片格式增减后缀)
  • 2.替换为:/$1-shuiyin (其中 - 为步骤 2 选择的间隔标识符,shuiyin 为步骤 4 保存的规则名称)
  • 3.配置完成后,清除该 CDN 域名的缓存,刷新文章中的图片外链,即可实现无后缀自动添加水印。
正则表达式: ^/(.*\.(jpg|jpeg|png|gif|webp|bmp))$   (这里加上实际使用的图片格式的后缀)
替换为: /$1-shuiyin  (这里的-就是上面设置的间隔标识符,shuiyin就是上面设置的图片处理规则的名称)

20251003205107693

三、方案优势

  1. 批量生效:无需手动修改每张图片的外链后缀,所有匹配格式的图片均自动添加水印。
  2. 灵活调整:后续如需更换水印样式或域名,仅需修改对象存储的水印规则,原图片文件不受影响。
  3. 跨平台适配:亲测七牛云等其他对象存储,按相同逻辑配置均可实现同等效果。

四、流量成本控制技巧

很多使用对象存储的博主会因流量被刷产生高额账单,核心解决办法是做好防护配置:

  1. 选用不限量流量的 CDN (如腾讯云 EdgeOne、ESA),采用 HTTP 回源 方式对接对象存储 (HTTPS 回源可能产生额外费用)
  2. 可搭配支持达量拉闸功能的 CDN (如多吉云),避免流量超额产生欠费。
  3. 以又拍云联盟为例,每年 61 元优惠券即可满足需求,按此方案配置后,年花费可控制在 1 元以内。