新手玩家的P3级故障:自己直接上手硬拼了个blog出来,然后发现首页加载巨慢…
遂,寻一法:又拍云CDN图床加速。
小声说一句:又拍云的开发者联盟可以零门槛凭本事兑换CDN加速,每年一次,一次用一年。

规划图床工作流
核心链路:PicList -> 又拍云 -> Hugo
- 存储端:在又拍云创建一个“服务”(Bucket),获取操作员账号和密码。
- 上传端:本地安装 PicList(PicGo 的增强版)。
- 引用端: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下配置域名加速。
方案选择:直接回源又拍云(最简单,推荐)
操作流程:
- 又拍云后台:在“域名管理”里添加你的子域名(如
img.yourdomain.com)。 - 域名 DNS 解析:去你的域名服务商(如腾讯云/阿里云),给
img子域名添加一条 CNAME 记录,指向又拍云提供的那个.upyun.com的地址。 - SSL 证书:在又拍云后台直接申请并开启 HTTPS。
- 搞定:你的京东云服务器带宽完全被释放,图片流量一分钱都不占你的服务器。
详细操作步骤
云存储服务创建
图床的基础是存储空间(Bucket)。
- 创建服务:登录又拍云控制台,选择“云存储” -> “创建服务”。
- 关键参数:
- 服务名称:即
Bucket Name,后续代码调用需用到。 - 操作员授权:必须创建一个操作员(Operator),并赋予“可写、可读、可删除”权限。务必记录操作员账号与密码。
- 服务名称:即
自定义域名与 CDN 配置
默认分配的测试域名有流量和生命周期限制,必须绑定已备案的自定义域名。
- 绑定域名:在服务管理页面的“域名管理”中添加你的二级域名(如
img.yourdomain.com)。 - CNAME 解析:
- 复制又拍云提供的 CNAME 地址(通常为
v0.api.upyun.com或特定分配地址)。 - 前往你的 DNS 服务商(如阿里云、腾讯云、Cloudflare),添加一条 CNAME 记录。
- 复制又拍云提供的 CNAME 地址(通常为
- HTTPS 配置(推荐):
- 在“功能配置” -> “HTTPS”中,申请免费的 Let’s Encrypt 证书 或上传自有证书。
- 开启“强制 HTTPS”,确保图床链接安全性。
安全保障—防盗链
图床若配置不当,极易被盗刷产生高额账单。
- 缓存过期配置:
- 路径:
功能配置->缓存控制->缓存过期配置。 - 建议:针对静态图片(jpg/png/webp),设置缓存时间为 365 天。
- 路径:
- 防盗链设置:
- Referer 防盗链:白名单模式,仅允许你自己的博客或 App 域名访问。
- IP 访问限制:开启“IP 访问限频”,防止异常恶意扫描。
- 图片处理(成本优化):
- 开启 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 语法:

示例: 如果你在 PicGo 设置的路径是 blog/,域名是 img.example.com: 
2. 进阶玩法:利用又拍云“云处理”优化(推荐)
又拍云支持在 URL 后通过 间隔标识符 调用云端处理功能。这能极大提升页面加载速度,节省流量。
假设你在又拍云后台设置的间隔符是 !:
A. 调用缩略图(防止原图过大导致页面卡顿)
如果你在又拍云定义了一个名为 standard 的缩略图版本(例如限定宽度 800px):

B. 强制转换格式(如转为 WebP)
即便原图是 PNG,也可以强制以 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.jpg和image.jpg是两个不同的文件,请务必核实。
快速校验工具
你可以直接在浏览器地址栏输入拼接后的 URL。如果能直接看到图,说明配置成功;如果看到 {"code":40400001,"msg":"file not found"},请检查你的存储路径是否漏写了文件夹名。