CDN 加速
使用 CDN 加速站点访问
CDN 加速 #
使用 CDN 可以显著提升站点的全球访问速度,降低服务器负载。
什么是 CDN #
CDN(Content Delivery Network)通过将站点内容分发到全球各地的节点,让读者从最近的节点获取资源,从而加快访问速度。
选择 CDN 服务商 #
国内访问优先方案 #
| 服务商 | 特点 | 适用场景 |
|---|---|---|
| EdgeOne Pages / CDN | 国内访问友好,适合静态站和边缘函数 | 博客、评论服务、后台 |
| 腾讯云 CDN | 国内节点多 | 国内用户为主 |
| 又拍云 CDN | 国内访问稳定,图片处理方便 | 图床、静态资源 |
国际访问方案 #
| 服务商 | 特点 | 适用场景 |
|---|---|---|
| 阿里云 CDN | 国内速度快 | 国内商业站点 |
| Cloudflare | 全球节点多,功能全面 | 海外读者占比较高 |
| AWS CloudFront | 全球覆盖 | 国际化站点 |
配置 EdgeOne / 国内 CDN #
1. 注册并添加站点 #
- 在 CDN 或 EdgeOne 控制台添加你的域名
- 添加你的域名
- 按提示完成域名验证
2. 修改 DNS #
按照控制台指引添加 CNAME 或修改 DNS 解析。
3. 开启 CDN 代理 #
确认博客域名、图片域名和评论服务域名都走就近加速节点。
4. 配置缓存规则 #
在 CDN 控制台配置:
- Caching Level: Standard
- Browser Cache TTL: 4 hours
- Always Online: Enabled
5. 开启 HTTPS #
在 HTTPS 设置中:
- 上传或申请免费证书
- 开启 HTTP 自动跳转 HTTPS
- 确认回源协议和站点协议一致,避免混合内容
静态资源 CDN #
对于主题中的第三方库(如 Font Awesome、Fuse.js),优先保存在项目内并由站点自己的 CDN 统一加速。当前 Font Awesome 源文件位于 assets/vendor/fontawesome/,构建后输出精简字体;Fuse.js 位于 static/vendor/fuse/,仅在打开搜索时加载:
<script src="/vendor/fuse/fuse.min.js"></script>
<link rel="stylesheet" href="/css/fontawesome.[内容指纹].css">
如果必须使用公共 CDN,国内站点优先选择国内镜像,例如 BootCDN 或 npmmirror:
<script src="https://cdn.bootcdn.net/ajax/libs/fuse.js/7.0.0/fuse.min.js"></script>
图片 CDN #
Cloudflare Images #
上传图片到 Cloudflare Images,使用优化后的 URL:

自定义域名 #
如需使用自己的域名作为 CDN 地址,在 config.toml 中配置:
[params]
cdnUrl = "https://cdn.yourdomain.com"
注意事项 #
- 缓存刷新 — 更新内容后需要刷新 CDN 缓存
- HTTPS — 确保 CDN 支持 HTTPS,避免混合内容警告
- CORS — 如需跨域加载字体等资源,配置正确的 CORS 头
- 成本控制 — 注意 CDN 流量费用,设置用量告警
验证 CDN 生效 #
使用 curl 检查响应头:
curl -I https://yourdomain.com
如果看到 CDN 服务商返回的缓存命中头,说明 CDN 已生效,例如:
X-Cache: HIT
评论