KeyCDN Zone 配置与缓存策略详解

KeyCDN Zone 配置指南

KeyCDN Zone 配置决定 CDN(内容分发网络,将可缓存资源分发到边缘节点)从哪里取得内容、如何缓存以及通过哪个域名交付。KeyCDN 提供 Pull Zone 和 Push Zone,但二者不是“性能档位”:Pull 从现有源站按请求取回内容,Push 则先把文件上传到 KeyCDN 存储。选择前应先明确内容更新方式、源站是否持续可用以及谁负责保存原始文件。

Pull Zone 与 Push Zone 怎么选

  • Pull Zone:适合已经有网站或对象存储源站的场景。首次未命中时边缘向 Origin URL 请求,后续在缓存有效期内直接响应。
  • Push Zone:适合构建产物、安装包等由发布流程主动上传的静态文件。需要把上传、版本和删除纳入 CI/CD 或运维流程。
  • Zone Alias:用于把自有 CDN 子域名映射到 Zone。配置时还要同步完成 DNS(域名系统,用于把域名解析到服务地址)、证书和 HTTPS 验证。

KeyCDN 官方 FAQ 说明,Pull Zone 可处理常见 HTTP 方法,但缓存对象主要来自 GET 和 HEAD;Push Zone 只处理 GET 和 HEAD。涉及登录、提交或 API 写操作的路径不应按静态资源方式缓存。可在配置前核对 KeyCDN FAQ 的当前说明。

KeyCDN Pull Zone 与 Push Zone 对比

创建 Pull Zone 前先整理源站

Origin URL 应指向可稳定访问的 HTTPS 源站,并避免形成 CDN 域名回源自身的循环。若使用 Hostease 主机作为源站,可先建立仅供回源使用的域名,确认服务器能返回正确 Host 站点,再添加 Zone Alias。跨区域加速效果取决于访客、边缘节点和源站之间的实际链路,主机选型可参考 云服务器(从虚拟化资源池按需分配资源)选购指南,但仍需用目标地区实测验证。

创建 Zone 后,将自定义 CDN 域名按控制台给出的目标配置 CNAME,并等待 DNS 生效。证书签发时间受 DNS、域名验证和服务状态影响,不应承诺固定分钟数。HTTPS 可用后,再把正文静态资源 URL 切换到 CDN 域名,避免先改地址导致混合内容或证书错误。

缓存策略从响应类型出发

缓存时间不应套用一个固定模板。带内容哈希的 CSS、JavaScript 和图片可以设置较长缓存;HTML 与频繁更新的 JSON 通常需要较短策略;登录页、购物车、结账和带隐私数据的响应应绕过共享缓存。源站 Cache-Control、Zone 设置和浏览器缓存要一起检查,避免某一层覆盖另一层。

查询参数是否进入缓存键也要按业务决定。版本参数用于区分静态资源时,忽略参数可能把不同版本合并;广告追踪参数不改变正文时,则可以在验证后规范化。跨域字体或脚本只有在浏览器确实发起跨源请求时才需要匹配的 CORS 响应头,不能把“自动注入 CORS”当成所有 Zone 的必开项。

KeyCDN 请求、回源与边缘缓存流程

WordPress 还要检查页面缓存插件与 CDN 是否重复改写 URL 或响应头。可结合 W3 Total Cache 调优实战,在未登录窗口分别观察 HIT、MISS、Age 和源站响应。

如果源站刚完成部署,可先按 美国 VPS(虚拟专用服务器)部署教程核对 DNS、防火墙和 HTTPS,再接入 CDN,避免把源站错误误判为边缘故障。其他 WordPress 加速实践可在 WordPress 专栏中继续查阅。

Push Zone 的发布与回滚

Push Zone 没有网站源站供边缘即时回源,因此上传成功、文件完整性和版本切换都应由发布流程保证。更稳妥的方式是使用不可变文件名,例如在文件名中加入内容哈希;先上传新版本并校验公开 URL,再切换引用,最后延迟清理旧版本。具体上传协议、账号和目录以当前控制台与官方文档为准,不在自动化脚本中硬编码未核验的主机名或连接限制。

Purge 清除的是边缘缓存,不等于删除 Push 存储中的源文件。KeyCDN 官方将 purge 描述为从各接入点即时清除,但客户端仍可能持有浏览器缓存,因此上线验证应使用新会话、响应头和版本 URL 共同判断。

访问控制与回源安全

Referrer 限制可降低简单盗链,但 Referrer 可能为空、被浏览器裁剪或被伪造,不能作为身份认证。启用白名单前要测试直接访问、隐私模式、合作站点和搜索爬虫。IP 规则也应先观察再收紧,避免把共享出口或合法机器人整体拦截。

对于只允许 CDN 回源的站点,应根据 KeyCDN 当前公布的回源地址范围维护防火墙,并保留紧急管理通道。不要无条件剥离 Authorization 或 Cookie:静态资源通常不需要它们,但受保护下载和个性化响应可能依赖这些头,错误剥离会改变业务语义。

HTTPS 与 HSTS

自定义域名启用 HTTPS 后,要同时检查证书链、域名覆盖、自动续期和 HTTP 到 HTTPS 跳转。HSTS 只有在全部子域都长期支持 HTTPS 时才应扩大到 includeSubDomainspreload 更需要先满足浏览器预加载要求并评估不可逆影响,不能直接复制固定响应头上线。

故障排查清单

  • 命中率低:按 URL 类型查看 HIT/MISS,检查源站缓存头、查询参数、Cookie 和绕过规则。
  • 混合内容:检查页面源码中的资源协议、Zone Alias 证书以及重定向后的最终 URL。
  • 更新后仍见旧内容:先执行 purge,再区分边缘缓存、浏览器缓存和中间代理;静态资源优先使用版本化文件名。
  • 某地区延迟高:分别测 DNS、TCP/TLS、边缘响应和回源时间,避免把全部耗时归因于 CDN 节点。
  • 返回 403 或 404:复核 Referrer/IP 规则、Origin URL、Host 头和 Push 文件路径的大小写。

费用与上线验收

KeyCDN 的最低月度使用额、最低充值额、Zone 数量和 Push 存储单价都可能调整。本文不把某个地区流量价写成永久“起步价”;预算应以 KeyCDN 官方价格页 的当前区域和阶梯为准,并把回源流量、存储、额外 Zone 与税费纳入估算。

正式切流前,应验证 DNS、证书、缓存头、范围请求、错误页、purge、日志和源站保护。先给少量静态资源使用新 Zone,观察错误率、命中率和账单,再扩大范围。这样即使配置不符合预期,也能在不影响整站的情况下回滚。如果你需要为现有 WordPress 站点接入 KeyCDN,可以先选一个可回滚的静态资源目录做小流量验证,再决定是否扩大到整站。

发表评论