OBS对象存储从建桶到静态网站托管全流程实操(附访问权限避坑点)
【摘要】 做一个纯静态页面——个人作品页、文档站、活动落地页,其实不用买服务器。把写好的 HTML、CSS、图片传到华为云对象存储 OBS,再打开“静态网站托管”,就能用一个网址直接访问。本文按真实操作顺序走一遍,并把访问权限这个最容易踩的坑讲清楚。 准备工作一个已开通 OBS 的华为云账号;本地一份静态页面,至少包含 index.html(样式、脚本、图片用相对路径引用,如 ./style.css、...
做一个纯静态页面——个人作品页、文档站、活动落地页,其实不用买服务器。把写好的 HTML、CSS、图片传到华为云对象存储 OBS,再打开“静态网站托管”,就能用一个网址直接访问。本文按真实操作顺序走一遍,并把访问权限这个最容易踩的坑讲清楚。
准备工作
- 一个已开通 OBS 的华为云账号;
- 本地一份静态页面,至少包含
index.html(样式、脚本、图片用相对路径引用,如./style.css、images/logo.png)。
先说结论:静态托管的核心就三步——建桶、传文件、开托管;访问不通时,九成是权限或索引文档名的问题。
一、创建桶
- 进入控制台,找到对象存储服务 OBS,点击“创建桶”。
- 区域选离目标访客最近的;存储类别选“标准存储”(访问频繁的小站用它最合适;冷数据才考虑低频、归档类)。
- 桶的访问权限先保持默认私有,等托管配好后再单独放开(见第四节),不要一上来就全桶公开。
- 其余选项默认即可,完成创建。
桶名全局唯一,且创建后不能改名,命名时带上业务前缀,例如 my-site-20261109。
二、上传静态文件
- 进入刚建的桶,点击“上传对象”,把
index.html、style.css、图片等一并上传。 - 保持本地的文件层级不变:页面里写的是
images/logo.png,桶里就必须是images/logo.png,大小写也要一致,Linux 风格的对象名是区分大小写的。 - 尽量避免中文、空格等特殊字符做对象名,容易在浏览器拼接地址时出问题。
三、开启静态网站托管
- 在桶的“基础配置”里找到“静态网站托管”,选择启用。
- 索引文档填
index.html,错误文档可填404.html(没有就先不填,后续补上)。 - 保存后,页面会给出网站托管的访问域名,形如
桶名.obs-website.区域域名.myhuaweicloud.com。
打开这个域名,能看到页面即说明托管链路通了;打不开先别急着改权限,按第五节逐项排查。
四、访问权限:最容易踩坑的一步
OBS 新建桶默认是私有的,直接访问托管域名会报 403,这不是托管没开,而是没有公开读权限。两种放开方式:
| 方式 | 做法 | 适用场景 |
|---|---|---|
| 桶策略(推荐) | 在桶策略里给匿名用户授权只读,或限定某个前缀(如 public/*)可读 |
想精细控制范围时 |
| 桶 ACL | 把桶 ACL 设为公开读 | 临时演示、整桶都是公开内容时 |
要点:
- 只放开“读”,不要给匿名用户写、删除权限。
- 策略生效有短暂延迟,改完等一两分钟再验证。
- 桶里一旦放过敏感文件(密钥、内部数据),不要用公开桶装它们,另建私有桶存放。
五、排障清单
- 打开报 403:托管是否启用 → 索引文档名是否与上传的
index.html完全一致 → 桶策略/ACL 是否已公开读。 - 打开报 404:检查 URL 路径与对象名是否一致,留意多一层目录或大小写问题。
- 页面样式丢失:看 CSS、图片是否也上传了,以及引用是否为相对路径。
- 改了文件仍是旧内容:浏览器强制刷新(Ctrl+F5),或确认上传覆盖的是同一个对象名。
六、费用与清理
费用主要三块:存储量(按 GB·月)、请求次数、公网流出流量。一个访问量不大的静态小站,一个月通常只需很少的费用,具体以价格页和账单为准。
用完后及时清理:先删桶内对象,再删除桶;不再对外提供访问时,顺手关闭静态网站托管,避免产生持续费用。
小结
OBS 托管静态网站的链路是“建桶 → 上传 → 开托管 → 放开只读权限 → 验证”。记住两个检查点:索引文档名与实际文件完全一致,权限只放开到“匿名可读”这一档。把这两点做对,大部分静态托管问题都不会出现。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)