用 OBS 做静态网站托管:从桶配置到 CDN 回源的完整清单
很多个人博客、文档站和活动页并不需要一台常驻服务器,用对象存储 OBS 做静态网站托管,再配上 CDN 回源,往往更便宜、更省运维。下面按上线顺序梳理一遍,照着做基本能一次跑通。
一、先想清楚适用边界
静态网站托管适合纯 HTML、CSS、JavaScript、图片和下载文件,不适合需要服务端渲染、数据库写入或用户登录后动态鉴权的场景。如果页面只是展示和下载,OBS 完全够用;一旦涉及表单提交、支付或后台管理,就要另外接函数计算或后端服务,不要硬塞进静态托管里。
二、桶的基础配置
新建桶时区域尽量选离目标用户近的区域,后面再改会比较麻烦。上传文件前先统一本地目录结构,例如把首页放在根目录,静态资源放在 static 或 assets 下,图片单独放 images,这样后面做缓存规则和排查 404 都更直观。上传后先用 OBS 自带的访问地址验证首页和子页面能否打开,不要一上来就绑域名,避免把桶配置问题和域名问题混在一起。
三、开启静态网站托管
在桶的静态网站托管设置里把索引文档设为 index.html,错误文档设为 404.html 或 error.html。索引文档决定了访问目录时默认返回哪个页面,错误文档决定了不存在的路径返回什么。很多人只配了前者,结果用户点到旧链接时看到的是对象存储默认报错,体验很差。配完后要分别测试根路径、二级目录和一个不存在的路径,确认三种情况都符合预期。
四、权限只开到刚好够用
静态站需要公开读,但公开读不等于把桶的全部权限放开。建议只给匿名用户读对象权限,不要给列出桶、删除对象或写对象的权限。如果站里有不希望公开的下载包或内部文档,不要放进同一个公开桶,单独建一个私有桶存放,通过临时签名链接分发。每次改完权限都用无痕浏览器访问一次,确认未登录状态下能看公开页、看不到私有对象。
五、接 CDN 回源
直接用 OBS 地址访问在跨地区时可能偏慢,这时用 CDN 加速。回源地址填 OBS 的静态网站托管域名或桶域名,源站类型选对象存储,不要把回源写成控制台地址。缓存规则要分开:HTML 建议缓存时间短一些,方便更新后快速生效;图片、CSS 和 JS 可以缓存久一些,更新时用文件名加版本号或哈希来刷新。改完后先在 CDN 上做一次刷新,再用 curl 检查响应头,确认命中缓存和回源都正常。
六、自定义域名与 HTTPS
自定义域名要先在 DNS 里做好 CNAME 解析,再在 CDN 或 OBS 侧完成域名绑定和证书配置。证书过期是最常见的半夜故障来源,建议把证书到期时间写进自己的检查清单,或者直接用平台的自动续期能力。绑定后要测试 HTTP 是否按预期跳转到 HTTPS,首页、带查询参数的链接和旧链接跳转是否都正常。
七、上线前检查清单
第一,首页、子页面、图片和下载链接逐一点击一遍;第二,用手机网络和电脑网络各访问一次,排除本地缓存造成的假象;第三,确认错误页不是默认报错;第四,确认私有对象无法匿名访问;第五,记录桶名、区域、回源域名和证书到期时间,方便下次更新。走完这五步,一个 OBS 静态站就算真正上线了,后续更新只需要替换文件并按需刷新 CDN,运维成本比维护一台服务器低得多。
- 点赞
- 收藏
- 关注作者
评论(0)