新手玩家的P3级故障:自己直接上手硬拼了个blog出来,然后发现首页加载巨慢…

遂,寻一法:又拍云CDN图床加速。

小声说一句:又拍云的开发者联盟可以零门槛凭本事兑换CDN加速,每年一次,一次用一年。

又拍云开发者联盟

规划图床工作流

核心链路:PicList -> 又拍云 -> Hugo

  1. 存储端:在又拍云创建一个“服务”(Bucket),获取操作员账号和密码。
  2. 上传端:本地安装 PicList(PicGo 的增强版)。
  3. 引用端:Markdown 中插入又拍云生成的 CDN 链接。

又拍云后台配置(关键步骤)

为了防止图片被盗刷(流量就是钱),在又拍云后台请务必开启:

  • HTTPS 访问:申请一个免费的 SSL 证书(又拍云后台可以一键申领)。
  • 防盗链配置:在“访问控制”里,将你的博客域名添加到白名单
  • 图片处理(云端瘦身): 这是又拍云的杀手锏。你可以在后台配置“间隔标志”(如 !webp)。
    • 原图地址https://cdn.example.com/pic.jpg
    • 瘦身后地址https://cdn.example.com/pic.jpg!webp
    • 这会自动将图片转为 WebP 格式并压缩,极大地节省你的 CDN 流量。

本地 PicList 配置清单

在 PicList 中添加又拍云图床,填写以下信息:

  • 服务名称:你创建的 Bucket 名。
  • 操作员 ID / 密码:在又拍云后台“服务管理”->“操作员”中添加。
  • 加速域名:又拍云提供的测试域名或你绑定的自定义域名。
  • 存储路径:建议设为 /blog/{year}/{month}/,方便以后维护。

关于备份的深度叮嘱

必看:图床虽好,但不要“孤注一掷”。

  • 本地备份:PicList 有个功能叫“上传同时保存到本地”,请务必开启。
  • 路径一致性:如果有一天数据丢失了(虽然概率很低),只要你本地有备份,通过全局替换 Markdown 里的域名,几秒钟就能迁移到腾讯云或阿里云。

技术方案设计

关于又拍云(Upyun)图床子域名的 Nginx 配置,这里有一个认知误区需要先澄清:由于使用的是又拍云的 CDN 服务,图片实际上是存在又拍云的服务器上,不需要在个人服务器上配置Nginx。

敲黑板:又拍云的云存储是存储和加速一体的,不要再单独去CDN下配置域名加速。

方案选择:直接回源又拍云(最简单,推荐)

操作流程:

  1. 又拍云后台:在“域名管理”里添加你的子域名(如 img.yourdomain.com)。
  2. 域名 DNS 解析:去你的域名服务商(如腾讯云/阿里云),给 img 子域名添加一条 CNAME 记录,指向又拍云提供的那个 .upyun.com 的地址。
  3. SSL 证书:在又拍云后台直接申请并开启 HTTPS。
  4. 搞定:你的京东云服务器带宽完全被释放,图片流量一分钱都不占你的服务器。

详细操作步骤

云存储服务创建

图床的基础是存储空间(Bucket)。

  1. 创建服务:登录又拍云控制台,选择“云存储” -> “创建服务”。
  2. 关键参数
    • 服务名称:即 Bucket Name,后续代码调用需用到。
    • 操作员授权:必须创建一个操作员(Operator),并赋予“可写、可读、可删除”权限。务必记录操作员账号与密码

自定义域名与 CDN 配置

默认分配的测试域名有流量和生命周期限制,必须绑定已备案的自定义域名。

  1. 绑定域名:在服务管理页面的“域名管理”中添加你的二级域名(如 img.yourdomain.com)。
  2. CNAME 解析
    • 复制又拍云提供的 CNAME 地址(通常为 v0.api.upyun.com 或特定分配地址)。
    • 前往你的 DNS 服务商(如阿里云、腾讯云、Cloudflare),添加一条 CNAME 记录
  3. HTTPS 配置(推荐)
    • 在“功能配置” -> “HTTPS”中,申请免费的 Let’s Encrypt 证书 或上传自有证书。
    • 开启“强制 HTTPS”,确保图床链接安全性。

安全保障—防盗链

图床若配置不当,极易被盗刷产生高额账单。

  1. 缓存过期配置
    • 路径:功能配置 -> 缓存控制 -> 缓存过期配置
    • 建议:针对静态图片(jpg/png/webp),设置缓存时间为 365 天
  2. 防盗链设置
    • Referer 防盗链:白名单模式,仅允许你自己的博客或 App 域名访问。
    • IP 访问限制:开启“IP 访问限频”,防止异常恶意扫描。
  3. 图片处理(成本优化)
    • 开启 WebP 自适应。同一张图片,WebP 格式通常比 JPG 小 30% 以上,能显著降低 CDN 流量成本。

客户端接入(以 PicGo 为例)

使用 PicGo 等工具上传。PicGo下载地址:https://github.com/Molunerfinn/PicGo/releases

根据个人情况选择对应的图床配置,我选的是又拍云:

  • 存储名称(Bucket):你在又拍云创建的“云存储”服务名。
  • 操作员(Operator):在又拍云服务管理界面授权的操作员账号。
  • 密码(Password):操作员对应的密码。
  • 加速域名(Url):填写你在又拍云绑定的 加速域名(例如 https://img.yourdomain.com),必须带上 http(s)://
  • 存储路径:建议设为 /images/{year}/{month}/ 方便管理,PicGo 会自动按年月创建文件夹。

Markdown中插入链接

在 Markdown 中插入又拍云图床图片,本质上是组合加速域名存储路径文件名

我建议你根据实际应用场景(博客、文档或内部笔记),选择最合适的插入方式:

1. 基础语法(直接插入)

这是最通用的 Markdown 语法:

![图片描述](https://你的加速域名/存储路径/文件名.jpg)

示例: 如果你在 PicGo 设置的路径是 blog/,域名是 img.example.com![My Image](https://img.example.com/blog/20260424.png)


2. 进阶玩法:利用又拍云“云处理”优化(推荐)

又拍云支持在 URL 后通过 间隔标识符 调用云端处理功能。这能极大提升页面加载速度,节省流量。

假设你在又拍云后台设置的间隔符!

A. 调用缩略图(防止原图过大导致页面卡顿)

如果你在又拍云定义了一个名为 standard 的缩略图版本(例如限定宽度 800px):

![](https://img.example.com/blog/cover.jpg!standard)

B. 强制转换格式(如转为 WebP)

即便原图是 PNG,也可以强制以 WebP 输出:

![](https://img.example.com/blog/cover.jpg!/format/webp)

3. 提高维护性:使用参考式链接

如果一张图片在长篇 Markdown 文档中多次出现,建议使用参考式,方便统一修改域名:

这是一张来自又拍云的图片 ![Alt text][my_img]

[my_img]: https://img.example.com/blog/2026/04/test.jpg

4. 避坑检查清单

  • HTTPS 协议一致性:如果你的 Markdown 最终发布在 HTTPS 的网站(如 GitHub、自建博客),图片链接必须https://,否则浏览器会拦截“混合内容”,导致图片不显示。
  • 防盗链策略:如果你在又拍云开启了 Referer 防盗链,在本地编辑器(如 Typora)预览时可能会因为 Referer 为空而显示 403 Forbidden
    • 对策:在又拍云后台防盗链设置中,勾选“允许空 Referer”,或者在测试期间暂时关闭。
  • 路径大小写:又拍云存储对 路径大小写敏感Image.jpgimage.jpg 是两个不同的文件,请务必核实。

快速校验工具

你可以直接在浏览器地址栏输入拼接后的 URL。如果能直接看到图,说明配置成功;如果看到 {"code":40400001,"msg":"file not found"},请检查你的存储路径是否漏写了文件夹名。