OBS 静态网站加速:套一层 CDN 让访客就近加载
一、背景:静态网站放在 OBS,离用户远就慢
把公司官网、活动页、个人作品集这类纯静态站点托管在 OBS 桶上,成本极低。但 OBS 桶是有区域的——桶在"华北",广州的用户访问就得跨大半个中国连过去,延迟高、首屏慢,尤其图片多的时候更明显。静态资源恰恰是"读多、内容固定、适合缓存"的典型,天然适合扔到 CDN 上。
CDN(内容分发网络)的思路是:在全国甚至全球布一堆边缘节点,用户第一次访问时从源站(这里就是 OBS)取内容、缓存到离用户最近的节点,之后同地区的用户直接从边缘节点拿,不用再跨远路回源。本文讲怎么给 OBS 静态网站套一层 CDN 加速,包含加速域名、回源配置和缓存策略。
二、整体链路变成什么样
没有 CDN 时:用户 → 直连 OBS 桶域名 → 桶在源区域处理 → 回给用户(路径长)。
加了 CDN 后:用户 → 就近的 CDN 边缘节点 → 节点有缓存就直接回、没有才回源 OBS → 用户拿到(路径短)。
对静态站点来说,一旦内容被边缘节点缓存,绝大多数请求根本不会打到 OBS,源站压力骤降、用户速度骤升。这正是静态资源用 CDN 性价比最高的原因。
三、添加加速域名并回源 OBS
在 CDN 控制台的操作主线:
- 添加加速域名,比如
static.your-domain.com(需要你有这个域名的解析权限); - 业务类型选「网站加速」;
- 源站类型选「OBS 桶」,填入你要加速的 OBS 桶(系统会列出你账号下的桶);
- 回源协议选 HTTPS(OBS 静态网站支持,且更安全);
- 加速域名添加后,CDN 会给你一个 CNAME,你去域名解析商把
static.your-domain.com的 CNAME 指过去; - CNAME 生效后,访问
static.your-domain.com就走 CDN 了。
这里的关键是源站填 OBS 桶、域名做 CNAME 解析。CNAME 没配或没生效前,加速域名是打不开的,这是最常见的"配完访问不了"原因,先在本地 dig 一下确认 CNAME 已生效再排查别的。
四、缓存策略:哪些缓存、缓存多久
CDN 不是无脑缓存一切,策略要配清楚,否则要么不命中(每次回源没加速),要么缓存太久(更新了用户还看旧版)。
| 资源类型 | 建议缓存 |
|---|---|
| 带哈希的文件名(app.a1b2c3.js) | 长,如 30 天,文件名变就换新 |
| 普通 JS/CSS | 1~7 天 |
| HTML 首页 | 短,如几分钟~1 小时,保证更新快生效 |
| 图片 | 7~30 天 |
思路是:文件名带内容哈希的,缓存越久越好(因为内容一变文件名就变,不会冲突);HTML 这类入口文件缓存要短,否则你发了新页面用户还在看旧的。缓存时间具体设多少,以 CDN 控制台的缓存规则配置项为准,按上面原则填。
五、几个排错与注意点
第一,缓存没更新怎么办。改了站点内容但用户还看旧的,八成是 HTML/资源被 CDN 缓存住了。两个办法:要么等缓存过期,要么在 CDN 控制台手动「刷新缓存」(按 URL 或目录刷新),刷新后下次访问重新回源取新内容。发布流程里把"刷缓存"作为一步,能避免"我明明改了怎么没变"的困惑。
第二,回源 HOST 与桶域名。OBS 静态网站有专门的静态网站域名,CDN 回源要填对,否则回源会 403 或拿到下载页而非渲染页。具体回源地址用 OBS 静态网站域名还是桶访问域名,以官方文档说明为准。
第三,HTTPS 证书。加速域名要对外用 HTTPS,需要给 static.your-domain.com 配证书,可以用平台提供的免费证书或上传自己的。证书没配,浏览器会对加速域名标不安全。
第四,费用结构。CDN 按流量或请求计费,流量越大费用越高。对访问量小的个人站点,加速带来的体验提升值这个钱;对超大流量,结合缓存命中率算一下回源和边缘费用,避免意外账单。
第五,源站别公开暴露也可。套了 CDN 后,理论上用户只访问加速域名,OBS 源站可以收严访问控制(比如限制回源 IP 或私有桶+授权回源),降低源站被直接打的风险。
六、小结
给 OBS 静态网站加 CDN,本质是把"用户跨远路直连源站"换成"用户就近取缓存、miss 才回源",对读多写少的静态资源提升立竿见影。配置就三步——加加速域名、回源指向 OBS、做 CNAME 解析;调优在缓存策略——哈希文件长缓存、HTML 短缓存。上线后把"刷新缓存"纳入发布流程,避免改了看不到。加速域名、回源地址和缓存规则的具体配置项以官方文档为准。
- 点赞
- 收藏
- 关注作者
评论(0)