
如果你的站点需要一套按量计费、操作直观的 CDN,并且预算不允许使用 Akamai 这类企业方案,那么 BunnyCDN 配置 是最容易上手的选择之一。它的 Standard Tier 流量起步价约为每 GB 0.005 美元,覆盖五大洲 100 多个边缘节点,控制台几乎不需要培训就能用。本文将教你如何从零完成一个 Pull Zone(拉取式分发区域,CDN 主动回源拉取资源的配置单元)配置,覆盖回源 Shield、Edge Rules、Permaperma Cache 与常见故障排查,帮你解决”上线后命中率上不去、回源费用高于流量费”这类问题。
一、BunnyCDN 适合什么场景
判断 BunnyCDN 是否适合你的站点,可以参考三个维度:流量预算、内容类型与覆盖区域。BunnyCDN 的优势在于价格透明、节点覆盖均衡(欧美亚都有节点)、控制台简洁,劣势在于国内三网延迟比 Cloudflare China Network 高、缺乏 WAF(Web Application Firewall,Web 应用防火墙)等深度安全功能。如果你的站点以海外用户为主、内容偏静态资源(图片、视频、字体)、想在每月 50 美元以内拿到全球加速,BunnyCDN 几乎是首选。
如果你的源站在香港或美国 CN2 线路,BunnyCDN 可以做静态资源边缘缓存,动态请求继续直连源站。回源主机的线路选择可以参考 WordPress 香港主机选购指南 与 云服务器选购指南,跨境链路(Cross-Border,跨越国界的网络通信)质量决定边缘节点未命中时的回源耗时。
二、创建 Pull Zone 与基础配置
登录控制台后选择 CDN → Add Pull Zone。填写关键字段:
- Origin URL:源站地址,例如
https://origin.yourdomain.com。一定要带协议,否则回源走 HTTP 引发混合内容。 - Pricing Tier:Standard 适合 90% 场景,High Volume 流量优惠但不覆盖部分非洲节点。
- Edge Rules:先空着,后续按需添加。
创建完成后会得到一个 b-cdn.net 子域,绑定到自定义子域名(如 cdn.yourdomain.com)的步骤为:在 DNS 服务商添加一条 CNAME 指向 <your-zone>.b-cdn.net,然后在 Pull Zone 设置中点击 Add Hostname 并启用 Force SSL。BunnyCDN 会自动签发 Let’s Encrypt 证书,通常 5 分钟内生效。
三、回源 Shield 与 Tiered Cache
回源 Shield(Origin Shield,源站盾)是把多个边缘节点的回源请求收敛到单个”中心节点”的功能。开启后,全球边缘节点未命中时不会各自发起独立回源,而是先到 Shield 节点查询,命中后直接由 Shield 返回。这能把源站负载降低 40% 到 70%。
在 Pull Zone → Caching → Origin Shield 中启用,选择离源站最近的节点。例如源站在美国西部洛杉矶,选择 Los Angeles 作为 Shield;源站在香港,选择 Hong Kong 作为 Shield。Origin Shield 按 GB 单独计费,价格约为流量费的 30%,对回源带宽费用敏感的源站尤其值得开启。
如果你希望进一步降低源站压力,可以在 Shield 上层叠加 Permaperma Cache。开启后,已经写入 Permaperma 的资源会永久保留在边缘磁盘,直到主动清除。适合静态资源且变更极少的站点,例如电商商品图片、字体文件、PDF 手册。需要注意的是:Permaperma Cache 不会自动失效,发布新版本资源时必须用 URL 版本号或主动 Purge。
四、Edge Rules 实战
Edge Rules 是 BunnyCDN 的边缘逻辑层,类似 Cloudflare 的 Page Rules / Cache Rules。在 Pull Zone → Edge Rules 中可以创建最多 10 条免费规则,每条规则包含触发条件与动作。典型场景:
- 强制 HTTPS:触发条件
Request URL匹配http://*,动作Force SSL。 - 路径级 TTL:触发条件
URL Path匹配*/images/*,动作Override Cache Time为 30 天。 - 绕过缓存:触发条件
URL Path匹配/wp-admin/*或/api/checkout/*,动作Bypass Cache。 - 添加响应头:动作
Set Response Header,例如添加x-cdn: bunny方便排查。 - 地区跳转:触发条件
Country Code匹配CN,动作Redirect到国内镜像。
实际配置时建议先用一条最简单的规则验证生效顺序,再叠加复杂逻辑。规则按从上到下顺序匹配,首条命中后即停止。如果你同时在源站和 BunnyCDN 设置了 cache-control,BunnyCDN 默认遵循源站头,Edge Rules 的 Override 优先级更高。
五、回源优化与压缩
回源链路的优化点集中在三处:HTTP/2 启用、Brotli 压缩与 Range 请求支持。BunnyCDN 默认对源站发起 HTTP/1.1 请求,可以在 Pull Zone → Origin 中切换到 HTTP/2,但要求源站支持。如果你不确定,可以用命令测试:
curl -I --http2 https://origin.yourdomain.com
返回头若包含 HTTP/2 200,说明源站已支持。
Brotli 压缩对文本资源的体积优化通常比 Gzip 多 15% 到 25%。在 Pull Zone → Optimizer 启用 Brotli,BunnyCDN 会在边缘节点对 HTML、CSS、JS 实时压缩。需要注意:如果源站已经返回 Brotli 内容,BunnyCDN 会直接转发不再压缩,避免双重消耗 CPU。WordPress 站点想优化压缩链路,可参考 WordPress W3 Total Cache 调优实战 中的浏览器缓存与压缩章节,把本地缓存插件与边缘 CDN 的策略协同起来。更多 WordPress 加速思路可在 WordPress 分类 下查阅。
Range 请求对视频、音频、PDF 下载至关重要。BunnyCDN 默认支持 Range,但前提是源站正确返回 Accept-Ranges: bytes。若源站是 Nginx,确认未启用 gzip_static 对视频类资源的强制压缩,否则会破坏 Range 请求。
六、故障排查清单
高频问题与处理方向:
- 命中率持续 50% 以下:先在 Pull Zone → Statistics 查看 Cache Hit Rate 趋势,再用浏览器开发者工具看
cdn-cache与cdn-cachedat响应头,若每次都是MISS,多半是 Edge Rules 错误绕过或源站返回了cache-control: no-cache。 - 回源 5xx 突增:在 Pull Zone → Logs 启用 Log Forwarding,把日志推到 S3 或 Logtail,按时间窗口聚合分析。常见原因是源站防火墙拦截了 BunnyCDN IP 段,需把官方公布的 IP allowlist。
- HTTPS 证书报错:自动签发的 Let’s Encrypt 证书每 90 天续签,若续签失败通常是 DNS 解析中途变化。在 Hostname 设置中点击 Force Re-Issue。
- 国内访问慢:BunnyCDN 国内节点稀疏,可考虑在 Edge Rules 中针对
CN走跳转,或参考 美国 VPS 部署教程 用 MTR 定位瓶颈跳点。
总结与建议
BunnyCDN 配置 的核心思路是”先把基础 Pull Zone 跑通,再叠加 Shield、Edge Rules 与压缩”,不要一上来就开所有功能导致问题难以定位。建议中小站点先用 Standard Tier 跑两周观察账单与命中率,再决定是否升级 High Volume 或叠加 Permaperma Cache。如果你需要稳定的国内访问体验,可以把 BunnyCDN 当作海外用户的主链路,国内用户交给已备案的国内 CDN,整体成本仍然可控。整体来看,BunnyCDN 适合作为预算敏感型项目的全球分发主力,与现有主机方案的搭配也比较灵活。