摘要:网站图片越来越多、服务器硬盘和带宽不够用时,可以把图片放到对象存储(阿里云 OSS、腾讯云 COS)当图床。本文按官方文档讲清费用由哪几块组成、建桶时权限怎么选、为什么要绑自定义域名、Referer 防盗链怎么配,以及最容易被忽视的「流量被盗刷产生高额账单」怎么提前防。只放官网链接。

图片多了以后,小站常见三个烦恼:服务器硬盘越来越满、带宽被图片吃掉、换服务器要搬一大堆附件。把图片放到对象存储里当「图床」,网页只引用图片地址,这三件事都能缓解。国内常用的是阿里云 OSS 和腾讯云 COS,两家的思路基本一样。

但对象存储是按量计费的:存了多少、被请求多少次、往外传了多少流量,都会算钱。配置不当最常见的后果不是「图片打不开」,而是图片被别人盗用或被恶意刷流量,月底收到一张远超预期的账单。所以这篇的重点是:先把费用和防护想清楚,再动手。

查询日期:2026-10-05(北京时间)。本文依据阿里云、腾讯云帮助中心的公开文档,控制台菜单名和价格以官网为准,文中不列具体单价。本文暂无推广链接,以后如有会单独标注。

先判断:你需不需要图床

情况建议
个人博客,图片不多,服务器硬盘够用先不用折腾,图片压缩 + 缓存插件 + CDN 往往更划算
图片、附件持续增长,硬盘或带宽开始紧张适合用对象存储
多个站点共用一批图片,或经常换服务器适合,图片和服务器解耦
只想「免费图床」不建议用来路不明的公共图床,失效或被封后全站图片一起挂

很多站只要把图片压缩、开好缓存就够了,具体做法可以先看WordPress 网站提速:缓存插件、图片压缩与 CDN,确实不够再上对象存储。

费用由哪几块组成

阿里云帮助中心《计费概述》写得很直接:数据存进 OSS 后按存储时长产生存储费用;每次上传、下载或访问产生请求费用;通过公网分发数据产生外网流出流量费用;另外,CDN 加速、图片处理、传输加速等增值服务各自单独计费。OSS 以小时为周期统计用量,小时账单大约在计费周期结束后 3~4 小时生成。

腾讯云 COS 的结构类似:存储容量费用、请求费用(无论成功或失败都计)、流量费用(外网下行、CDN 回源等),按日结算前一天的费用。

对图床来说,真正要盯的是外网流出(下行)流量:图片越大、被看得越多,这一项涨得越快;被盗链或被恶意刷,也是这一项暴涨。两家都提供流量资源包,但资源包只能抵扣对应的计费项(阿里云文档明确:下行流量包只能抵扣外网流出流量费用),买之前先看清楚。

第一步:建存储桶(Bucket),地域和权限怎么选

  1. 地域:尽量和你的服务器、主要读者在同一地区。阿里云文档说明,同地域的 ECS 走内网访问域名访问 OSS,内网流量免费;跨地域则走公网,会产生外网流出流量费用。
  2. 读写权限:官方的默认和推荐都是私有。图床需要让浏览器直接读图,常见做法有两种:
    · 设为公共读,再配好防盗链(最简单,但风险最高,下面第三、四步必须做);
    · 保持私有,在 CDN 上开启「私有 Bucket 回源」,读者只通过 CDN 域名访问(阿里云在私有资源访问方案里把「CDN + OSS」列为推荐)。
  3. 绝不开「公共读写」:阿里云文档的警告是,公共读写意味着互联网上任何人都可以往你的 Bucket 写入数据,可能导致数据被破坏,以及费用激增。

第二步:绑定自定义域名,并配 HTTPS

不要直接把 OSS/COS 的默认域名写进文章。阿里云《访问域名与网络连接概述》专门提示:通过 OSS 的 Bucket 域名访问 HTML、图片等文件时,浏览器会强制下载而不是在线预览,需要绑定自定义域名(比如 img.你的域名.com)才能正常显示。

对象存储做图床:阿里云 OSS / 腾讯云 COS 怎么设,防盗链和防盗刷账单(2026)-有序
阿里云帮助中心《访问域名与网络连接概述》:各类访问域名的费用特点,以及「通过 Bucket 域名访问图片会被强制下载、中国内地 Bucket 绑定的域名须完成 ICP 备案」的提示(box 内 Chrome 截图,2026-10-05)

绑定时注意三点:

  • 备案:Bucket 在中国内地的,绑定的域名必须先完成 ICP 备案。还没备案的,流程见ICP 备案全流程。
  • 解析:按控制台提示添加一条 CNAME 记录,指向 OSS/COS 给出的地址(不是直接指向 Endpoint)。
  • HTTPS:默认域名支持 HTTPS,但自定义域名要自己配证书——没开 CDN 时在 OSS 控制台托管证书,开了 CDN 就在 CDN 控制台配。

用自定义域名还有一个好处:以后要迁移到别家存储,只改解析,文章里的图片地址不用动。

第三步:配置防盗链(Referer 白名单)

防盗链的原理是检查请求头里的 Referer(请求是从哪个网页发起的),只允许你自己的网站引用图片。两家控制台的位置:

  • 阿里云 OSS:Bucket →「数据安全」→「防盗链」;
  • 腾讯云 COS:存储桶 →「安全管理」→「防盗链设置」。
对象存储做图床:阿里云 OSS / 腾讯云 COS 怎么设,防盗链和防盗刷账单(2026)-有序
阿里云帮助中心《防盗链》:工作原理(空 Referer → 黑名单 → 白名单的判断顺序)与配置方式,注意匹配时不忽略 http/https(box 内 Chrome 截图,2026-10-05)

按官方文档整理的几个要点:

  1. 白名单要同时写 http 和 https。阿里云说明匹配时不忽略协议,http://www.example.com 匹配不到 https://www.example.com。可以用通配符 *.example.com 覆盖子域名。
  2. 「空 Referer」要想清楚。直接在浏览器地址栏打开图片、部分 App 或下载工具的请求,都不带 Referer。允许空 Referer,用户能直接打开图片链接;不允许,就能挡住更多直接访问,但订阅阅读器、部分客户端也会看不到图。图床一般选允许,再靠其他手段防刷。
  3. 用了 CDN,CDN 上也要配一遍。阿里云文档提示:盗链请求可能直接命中 CDN 缓存,绕过 OSS 的防盗链;腾讯云也说明通过 CDN 访问时会先执行 CDN 的防盗链配置。
  4. 防盗链不是万能锁。阿里云明确写了 Referer 可以伪造;带签名的请求不做防盗链检查(两家都是如此)。所以它主要防「别的网站直接引用你的图」,挡不住有心刷流量的人。
对象存储做图床:阿里云 OSS / 腾讯云 COS 怎么设,防盗链和防盗刷账单(2026)-有序
腾讯云对象存储文档《设置防盗链》:控制台「安全管理 > 防盗链设置」,黑/白名单、空 referer 与 Referer 填写规则(最多 30 行,支持通配符 *)(box 内 Chrome 截图,2026-10-05)

配好后可以按阿里云文档的方法用 curl 自测:带白名单外的 Referer 请求图片,应返回拒绝;带你自己网站的 Referer,应正常返回。

第四步:提前防「流量盗刷」高额账单

这是新手最容易忽略、也最伤钱的一步。阿里云专门有一篇《降低因恶意访问流量导致大额资金损失的风险》,里面说得很清楚:Bucket 被恶意攻击或流量被盗刷时,流量带宽费用需要你自己承担;而且按量计费受账单延迟影响,无法在余额为 0 时立即停机,账单金额可能超出账户余额。

对象存储做图床:阿里云 OSS / 腾讯云 COS 怎么设,防盗链和防盗刷账单(2026)-有序
阿里云帮助中心《降低因恶意访问流量导致大额资金损失的风险》:高额账单与超出余额的风险说明,以及阻止公共访问、私网访问、修改 ACL 为私有等措施(box 内 Chrome 截图,2026-10-05)

结合两家文档,小站能做的有这些:

  • 能私有就私有:不需要匿名访问的 Bucket(比如放备份的)开启「阻止公共访问」;图床尽量走「私有 Bucket + CDN 回源」。
  • 一定要设告警:在云监控里给外网流出流量、请求次数设置阈值告警,并绑定手机短信或邮件。告警不能自动止损,但能让你在几小时内发现异常,而不是月底才知道。
  • CDN 侧限流:阿里云文档提到可以在 CDN 上配置 IP 黑白名单、Referer 防盗链、URL 鉴权和「带宽封顶」(超过阈值后域名下线);需要更强防护时再考虑 WAF 的频次控制。
  • 图片本身要瘦身:上传前压缩、用合适的尺寸,不要把几 MB 的原图直接放上去,流量费会成倍放大。

第五步:接入 WordPress

腾讯云 COS 有官方插件 tencentcloud-cos,在 WordPress 后台「插件 → 安装插件」搜索即可安装。官方文档《将 WordPress 远程附件存储到 COS》列出了需要填写的配置项:

对象存储做图床:阿里云 OSS / 腾讯云 COS 怎么设,防盗链和防盗刷账单(2026)-有序
腾讯云官方文档《将 WordPress 远程附件存储到 COS》:插件配置项说明(SecretId/SecretKey、所属地域、空间名称、访问域名、不在本地保存、保留远程文件、禁止缩略图等)(box 内 Chrome 截图,2026-10-05)

几个关键设置的建议:

  • SecretId / SecretKey 不要用主账号的:在访问管理里建一个子用户,只授权这一个存储桶的读写权限,再把它的密钥填进插件。密钥泄露时损失可控。
  • 「不在本地保存」慎开:开了以后服务器上不再保留原图,你的整站备份里就没有图片了,需要单独备份存储桶。
  • 旧图片迁移:插件的「附件同步」可以把媒体库旧文件传到 COS,「一键替换」会批量改文章里的图片地址——操作前务必先备份数据库。文件多时官方建议用 COSCMD 或 COS Migration 工具迁移。
  • 访问域名:插件默认用存储桶默认域名,建议换成第二步绑定好的自定义域名或 CDN 域名。

阿里云 OSS 本文没有核实到阿里云官方维护的 WordPress 插件,常见做法是用第三方插件。选第三方插件时看更新时间、兼容的 WordPress 版本和评价,同样使用 RAM 子账号、只授予这个 Bucket 权限的 AccessKey,不要填主账号密钥。

上线前核对清单

检查项合格标准
读写权限私有,或公共读;绝不是公共读写
访问域名文章里用的是自定义域名 / CDN 域名,不是默认域名
HTTPS自定义域名或 CDN 域名已配证书,图片地址是 https
防盗链白名单含 http 和 https 两种写法;用了 CDN 的,CDN 也配了
告警外网流出流量、请求数已设阈值告警,能收到短信或邮件
密钥插件用的是子账号、最小权限的密钥
备份开了「不在本地保存」的,存储桶有单独备份方案

常见坑

  1. 图片一打开就下载:在用默认域名访问,绑定自定义域名即可。
  2. 自己网站的图也被挡了:白名单只写了 http,没写 https;或者忘了写 www 和不带 www 的两种域名。
  3. 开了防盗链还是被刷:盗链请求走的是 CDN 缓存,CDN 上没配;或者对方伪造了 Referer。
  4. 账单突然变大才发现:没设告警。账单本身有几小时延迟,告警是唯一能早点发现的办法。
  5. 把主账号密钥填进插件:一旦网站被入侵,攻击者能拿到整个云账号的权限。

官网链接

相关阅读

资料来源(查询日期 2026-10-05)

  • 阿里云帮助中心:《计费概述》(help.aliyun.com/zh/oss/billing-overview)、《防盗链》(/zh/oss/user-guide/hotlink-protection)、《访问域名与网络连接概述》(/zh/oss/user-guide/access-and-network-overview)、《降低因恶意访问流量导致大额资金损失的风险》(/zh/oss/user-guide/reduce-the-risks-of-unexpectedly-high-fees-caused-by-malicious-access-traffic)、《权限与访问控制概述》、《安全访问私有资源的解决方案》
  • 腾讯云文档:《设置防盗链》(cloud.tencent.com/document/product/436/13319)、《按量计费(后付费)》(/436/36522)、《将 WordPress 远程附件存储到 COS》(/436/41153)

提示:云服务价格、免费额度和控制台菜单会调整,下单和配置前以官网页面为准。本文不构成任何购买建议。