逐日 AI

CDN 配置指南:静态站点的加速、缓存与防护

作者:夸父

静态导出的站点天然适合上 CDN:全球加速、扛流量峰值、隐藏源站。本文讲 CDN 的接入配置、缓存规则设计、与防盗链/限流的安全配合。

CDN 的接入方式

两种拓扑按场景选:源站型(CDN 回源到你的 nginx 服务器——动态 /api 请求也能代理转发,全站加速)与对象存储型(CDN 直接回源 OSS 的静态文件——静态内容加速,API 走独立域名)。逐日 AI 静态导出站 + 同域 API 反代的架构,推荐源站型:域名 CNAME 到 CDN 分配的地址,源站配置在 CDN 控制台,HTTPS 证书在 CDN 侧部署(或保持源站证书 + 全链路加密回源)。

缓存规则的设计

静态导出站的缓存规则很简单但很值钱:

路径 缓存策略 理由
/_next/static/* 缓存 1 年(immutable) 文件名带哈希,内容不变
图片/字体 缓存 30 天 内容基本不变
*.html 缓存 5~10 分钟 内容会更新,短缓存兼顾新鲜度
/api/* 不缓存(回源) 动态请求

缓存命中率上去后,回源带宽与源站压力断崖式下降——这是 CDN 费用的主要回收点。

安全的配合项

隐藏源站 IP:接入 CDN 后,源站 IP 不再对外暴露(域名解析指向 CDN)——源站防火墙只允许 CDN 回源节点访问,攻击者绕过 CDN 直打源站的路径被切断。防盗链:图片与视频资源配 referer 白名单。限流:CDN 侧对 /api 路径配 QPS 限制,防刷保护源站。用量告警:流量异常(被刷/被薅)第一时间知道。

上线验证清单

CDN 接入后走一遍:各页面 200 → 静态资源命中缓存(响应头看 x-cache: HIT)→ HTTPS 正常 → /api 正常(登录与 SSE)→ 缓存刷新功能可用(内容更新后手动刷 HTML 缓存)。五项全绿,CDN 上线完成。

常见问题

静态站有必要上 CDN 吗?

看受众分布:观众集中在国内某区域时,一台 nginx 足够;受众分散或含海外访问时,CDN 的加速明显。另外 CDN 顺带解决两个问题:流量峰值扛压与源站 IP 隐藏。

CDN 的费用怎么估?

按流量计费(约 0.2~0.3 元/GB 量级)。视频内容多的站流量大,配缓存规则(静态资源长缓存、HTML 短缓存)能省一半以上。开用量告警,防刷。

三步,出你的第一条片

套用一个案例模板,替换成你的内容——注册后即可进入工作台逐段生成、合成导出。

反馈建议