LLEARNING NOTES

技术 · 思考 · 实践 · 成长

首页/运维/正文

阿里云 OSS 托管静态网站操作步骤

运维5 次阅读


一、准备工作

1. 注册/登录阿里云账号,完成实名认证。

2. 检查备案:如果要用自定义域名(如 `www.example.com`)对外提供网站,域名需已备案(中国大陆节点要求)。用 OSS 默认域名(`bucket.oss-cn-hangzhou.aliyuncs.com`)可先测试,但默认域名仅用于调试,且会返回 XML 格式错误页。

3. 准备一个 Bucket:建议与网站访问者就近选地域(如面向国内用户选华东1杭州、华北2北京)。

 二、创建 Bucket

1. 控制台 → 对象存储 OSS→ Bucket 列表 → 创建 Bucket。

2. 填写名称(全局唯一)、选择地域、读写权限选"私有"(后面靠签名URL或CDN回源授权访问,别直接设公共读,除非确认内容可公开)。

3. 关闭"版本控制"(个人网站用不上)、按需关闭"服务端加密"。

4. 勾选/开通 OSS 服务(首次会提示开通按量付费)。

三、上传网站文件

1. 进入 Bucket → 文件管理 → 文件列表 → 上传文件。

2. 上传整站文件,必须保证首页文件在 Bucket 根目录(默认 `index.html`),否则 404。

3. 设置正确的 `Content-Type`(HTML/CSS/JS/图片等),否则浏览器可能下载而非显示。

4. 建议目录结构:

```

/index.html

/404.html

/css/

/js/

/images/

```

四、开通静态网站托管

1. Bucket → 数据管理(旧版称"基础配置")→ 静态页面→ 设置。

2. 开启静态网站托管,填写:

   - 默认首页:`index.html`

   - 默认错误页:`404.html`

   - (可选)**子目录首页**:`index.html`(访问 `/docs/` 自动找 `/docs/index.html`)

3. 保存后得到外网访问端点:

   `http://<bucket>.oss-<region>.aliyuncs.com`

   此时用这个地址就能预览网站(若 Bucket 是私有读,需先设为"公共读"或通过签名访问)。

五、配置访问权限(二选一)

方案 A:公共读(最简单,适合纯静态公开站点)

- Bucket 权限控制 → 读写权限 → 改为 公共读。

- 注意:公网可直接遍历/读取对象,敏感文件(`.git`、源码、配置)不要上传。

方案 B:保持私有 + CDN 回源(推荐生产环境)

- Bucket 保持私有,在 CDN 控制台添加加速域名,回源方式选OSS 域名,并授权 CDN 读取该 Bucket(Bucket → Bucket 授权管理 → 添加 CDN 授权)。

六、绑定自定义域名 + HTTPS

1. 解析:在域名 DNS 处添加 CNAME,指向 `http://<bucket>.oss-<region>.aliyuncs.com`(或 CDN 域名)。

2. 绑定域名:Bucket → 域名管理(传输管理)→ Bucket 域名 → 绑定已备案的域名。

3. HTTPS 证书:

   - 用 OSS 默认域名:域名管理 → HTTPS证书 → 免费证书(阿里云提供3个月免费证书,可一键部署)或上传自己的证书;

   - 用 CDN 域名:在 CDN 控制台申请免费证书并开启"强制 HTTPS"。

4. 开启后访问 `https://www.example.com` 即为加密站点。

七、(可选但推荐)挂 CDN 加速

1. 开通 CDN → 添加域名 → 源站选该 OSS Bucket。

2. 配置缓存规则(HTML 设短缓存如 10 分钟,`/css/`、`/images/` 设长缓存 1 个月)。

3. 开启 Gzip/Brotli 压缩、HTTP/2。

4. 效果:国内访问速度显著提升,且能隐藏 OSS 源站地址。

八、常见问题排查

| 现象 | 原因与解决 |

|---|---|

| 403 AccessDenied | Bucket 私有且未授权读;改公共读或配签名/CDN授权 |

| 404 NoSuchKey | 首页不在根目录,或"默认首页"没填对 |

| 页面显示成 XML 报错 | 走了 OSS 默认域名的错误返回;绑定自定义域名 |

| 图片/字体加载失败 | CORS 未配置 → Bucket → **跨域设置**,来源填 `*` 或你的域名 |

| 域名无法访问 | 未备案、CNAME 未生效(等 DNS 生效,通常几分钟到几小时) |

| 证书报错 | 证书未部署到该域名,或证书与域名不匹配 |

九、更新网站

重新上传同名文件覆盖即可(注意浏览器缓存,建议文件名加 hash 或设置短缓存的 HTML);CDN 环境需在 CDN 控制台对变更文件执行 URL刷新。

---

最小可用路径(先跑通再优化):创建 Bucket → 上传 `index.html` → 开静态网站托管 → Bucket 设公共读 → 用 OSS 端点访问 → 再补自定义域名 + HTTPS + CDN。


好的生活就是不瞎想,做得多,要得少,常微笑,懂知足。

评论交流

理性讨论,共同进步
验证码

相关文章

继续阅读