Bunny CDN 快速设置指南
Bunny CDN 在开发者圈子里口碑不错,原因很简单:价格透明、按量计费、没有最低消费,而且控制台比很多大厂 CDN 清爽得多。这篇文章按“注册 → 创建 Pull Zone → 缓存 → HTTPS → DNS → 接入站点 → 优化”的完整顺序,带你从零配置上线。整个过程基本不需要命令行,全程在网页控制台里点选,对不习惯折腾 Nginx 的站长尤其友好;唯一的门槛是几个 Bunny 特有的概念(Pull Zone、Edge Rule),下面会逐个拆开讲。
为什么选择 Bunny CDN
Bunny CDN 是性价比极高的 CDN 服务商,适合预算有限但对性能有要求的网站。
- 价格低:$1.40/TB 起步,无隐藏费用,流量费在主流 CDN 里属于第一梯队
- 按量计费:用多少付多少,无最低消费,个人站也不用担心月费门槛
- 119 个全球节点:覆盖欧美亚主要地区,静态资源就近返回
- 简单易用:控制台直观,配置简单,学习成本低
- 免费 SSL:自动提供 Let's Encrypt 证书
需要提醒的是:Bunny CDN 在中国大陆没有节点,面向国内访客的网站请谨慎选择,或搭配国内 CDN 使用。如果网站同时有海外和国内访客,一个常见做法是:海外流量走 Bunny,国内流量走国内 CDN,通过 GeoDNS 按区域分流。对绝大多数个人站和面向海外的产品来说,只用一个 Bunny 就够了。
第一步:注册并创建 Pull Zone
- 访问 bunny.net 注册账号(可以用邮箱或第三方登录);
- 进入控制台,点击 Add Pull Zone;
- 填写以下信息:
Pull Zone Name: your-site (将作为 CDN URL 的一部分,如 your-site.b-cdn.net)
Origin URL: https://your-origin-server.com (你的源站地址,可以是域名或 IP)
Type: 选择 Generic (Other)
Pull Zone 是 Bunny 的核心概念:它从你的源站“拉取”文件并缓存到边缘节点。创建后记得把源站地址填成真实可访问的 URL,否则首次回源会 502。命名上有个小技巧:Pull Zone 名用“站点名-用途”(如 mysite-assets),后面接多个域或按用途拆分(图片、视频、前端资源各一个)时更好管理。免费额度阶段先用一个测试 Zone 跑通流程,再正式建生产 Zone 也不迟。
第二步:配置缓存
Cache Settings:
- Enable Cache: ✅
- Cache Expiration Time: 86400 (24 小时,单位秒)
- Override Cache Time: 0 (使用源站 Cache-Control,源站没设置再用上面的兜底值)
Cache Processor:
- Enable Optimizer: ❌(如果需要图片优化可开启)
缓存时间不是越大越好:静态资源(图片、CSS、JS)可以拉长到 7 天甚至 365 天,动态接口则要设置为 0。先统一 86400,再按资源类型细分,是更稳妥的上线路径。如果源站在不同路径下设置了不同的 Cache-Control,把 Override Cache Time 保持为 0 就能让源站说了算;源站没设响应头时才用 Expiration Time 兜底。图片站还可以开启 Optimizer,自动做格式转换和尺寸缩放,省掉手写缩略图逻辑。
第三步:配置 HTTPS
SSL Settings:
- Enable SSL: ✅ (自动申请 Let's Encrypt 证书)
- Force SSL: ✅ (HTTP 自动 301 跳转 HTTPS)
- Host Header: 保持默认
开启 Force SSL 后,所有 HTTP 请求会自动跳转到 HTTPS,避免出现“一半资源走 HTTP 一半走 HTTPS”的混合内容问题。
第四步:接入 DNS
方式一:CNAME 接入(推荐)
在域名 DNS 管理中添加一条 CNAME 记录:
cdn.example.com CNAME your-site.b-cdn.net
方式二:使用 Bunny DNS
在 Bunny 控制台添加域名,让 Bunny 托管 DNS:
Add Domain → 输入 example.com → 记录 NS 地址
→ 到注册商处把域名的 NS 记录换成 Bunny 的
方式一更灵活(不影响现有 DNS),方式二能直接用 Bunny 的 Anycast DNS,两种都可以,看你的现有托管情况。
第五步:在网站中使用
<!-- 使用 CDN 地址替换原始资源 URL -->
<!-- 原始 -->
<link rel="stylesheet" href="https://example.com/style.css">
<!-- CDN -->
<link rel="stylesheet" href="https://cdn.example.com/style.css">
<!-- 或者用 Bunny CDN 直接替换路径 -->
<img src="https://your-site.b-cdn.net/images/photo.jpg" alt="">
上线时建议把页面里的静态资源全部替换成 CDN 地址,并保留源站作为兜底,方便回滚。
性能优化:Brotli 与 Edge Rules
Bunny CDN 控制台 → Pull Zone → Compression:
- Enable Brotli: ✅
Brotli 的压缩率比 gzip 平均高 15-20%,对文本类资源(HTML、JS、CSS)效果明显。再配合 Edge Rules 细化缓存策略:
Edge Rules:
1. 如果 URL 包含 /assets/* → Cache TTL: 365 天
2. 如果 URL 包含 /api/* → Cache TTL: 0 秒
3. 如果 URL 以 .html 结尾 → Cache TTL: 3600 秒
费用参考
Bunny 的流量价格基本固定,约 $0.01/GB(部分区域略有差异),按此估算:
| 流量 | 预估月费 |
|---|---|
| 50 GB | ~$0.70 |
| 100 GB | ~$1.40 |
| 500 GB | ~$7.00 |
| 1 TB | ~$14.00 |
| 10 TB | ~$140.00 |
个人站的月流量通常在几十 GB 量级,一个月的 CDN 成本往往不到 1 美元。需要说明的是,Bunny 还会按请求数计费(每百万请求约 $0.20),一般个人站每月请求量只有几十万,这部分开销几乎可以忽略。也就是说,费用模型足够简单,账单基本就是“流量费 + 一点点请求费”,不会出现月底才发现巨额隐藏收费的情况。
注意事项
- 中国大陆无节点:海外 CDN,国内访问建议配合国内加速方案;
- 首次请求有延迟:回源拉取需要一点时间,重要资源可以提前预热;
- 支持 API 管理:可集成到 CI/CD 流程,自动创建 Pull Zone、刷新缓存;
- 缓存清理一键搞定:控制台提供 Purge 功能,改版或误缓存时马上清掉。
- 上线一周后回看命中率:Bunny 报表可以按域名、按文件查看带宽和缓存命中率,如果长期低于 80%,多半是缓存策略没设对——优先检查动态接口是否被误缓存、静态资源 TTL 是否太短。
参考:Bunny CDN 官方文档 https://docs.bunny.net/
按这套流程走一遍,静态站基本能在一小时内完成 CDN 接入。核心是记住三件事:源站地址填对、缓存策略按资源类型分开、SSL 一定要开。