教程一 · 静态网站

纯 HTML 静态网站部署

使用阿里云 OSS 对象存储,5步完成部署,月费不超过 ¥5,全球访问

🕐 预计耗时:30分钟 💰 月费:¥1–5 ⚡ 难度:入门 🌐 适用:纯 HTML/CSS/JS
i

核心概念:OSS 静态托管原理

理解为什么 OSS 可以直接托管网站

什么是对象存储(Object Storage)

对象存储(Object Storage Service)不是传统的文件系统,而是以 键值对 方式存储数据:每个对象(文件)有唯一的 Key(路径),通过 HTTP URL 即可直接访问。与 ECS 云服务器不同,OSS 无需运行操作系统和进程,只存储和分发文件。

概念含义类比
Bucket(桶)对象存储的顶层容器,相当于一个独立的存储空间一个网盘账号
Object(对象)桶中存储的单个文件,有唯一路径和元数据(ContentType 等)网盘中的一个文件
Endpoint(端点)访问 OSS 的域名地址,如 oss-cn-shanghai.aliyuncs.com服务器地址
AccessKey由 ID + Secret 组成的认证凭证,用于 API 访问账号密码
CNAMEDNS 别名记录,将自定义域名指向 OSS 的域名给服务器地址起别名

静态托管的工作原理

开启静态网站托管后,当用户访问 http://bucket名.oss-cn-shanghai.aliyuncs.com/ 时,OSS 不再返回原始对象列表,而是:

  1. 检测请求路径,如果是 /,则返回配置的默认首页(index.html)
  2. 如果路径对应的文件存在,直接返回该文件并设置正确的 Content-Type
  3. 如果路径不存在,返回配置的 404 页面(而非 OSS 的 XML 错误信息)
ℹ️
OSS 静态托管不支持服务端渲染(SSR)或后端 API——它只能分发静态文件(HTML、CSS、JS、图片)。如果你的项目需要后端逻辑,需要使用 ECS 部署(见教程二)。

TLS/HTTPS 原理简述

HTTPS = HTTP + TLS 加密层。TLS(Transport Layer Security)在 TCP 连接建立后进行握手,协商加密算法和密钥,之后所有 HTTP 报文都经过加密传输,防止中间人窃听或篡改。现代浏览器将未加密的 HTTP 网站标记为"不安全",影响 SEO 排名和用户信任度。

⚠️
必须启用 HTTPS:现代浏览器(Chrome 68+)会对 HTTP 网站显示"不安全"警告。搜索引擎(Google/百度)也对 HTTPS 网站给予排名加分。阿里云提供每年 20 张免费 DV 证书,申请流程 5 分钟。
① 注册账号
② 创建 Bucket
③ 开启托管
④ 上传文件
⑤ 绑定域名
1

注册阿里云账号

完成注册与实名认证,开通 OSS 服务

  • 访问 aliyun.com,点击右上角「免费注册」
  • 使用手机号完成注册
  • 进入控制台 → 右上角头像 → 「实名认证」(个人认证即可)
  • 充值 ¥10 备用(OSS 费用约 ¥0.12/GB/月)
  • 搜索「对象存储 OSS」→ 开通服务(免费开通)
ℹ️
实名认证需要 5–15 分钟审核,建议提前完成。个人认证使用身份证即可,无需营业执照。
2

创建 OSS Bucket

Bucket 是存放网站文件的容器,相当于一个网络硬盘文件夹

控制台操作路径

对象存储 OSS → Bucket 列表 → 创建 Bucket


配置项推荐值说明
Bucket 名称my-website-2024全局唯一,只能用小写字母、数字、连字符
地域华东1(上海)选离目标用户最近的地区
存储类型标准存储网站用标准存储,读写速度最快
读写权限公共读必须选公共读,否则访客无法访问
版本控制不开启个人网站无需版本控制
⚠️
读写权限必须选「公共读」,否则所有文件默认私有,访客会看到 AccessDenied 错误。
3

开启静态网站托管

让 OSS 识别你的 HTML 文件作为网站主页

操作路径

进入你的 Bucket → 左侧菜单「数据管理」→「静态页面」


配置项填写值
默认首页index.html
默认 404 页404.html(可选,没有留空)
子目录首页开启(推荐)

保存后,访问 http://bucket名.oss-cn-shanghai.aliyuncs.com 会自动显示 index.html。
4

上传网站文件

三种方式:控制台拖拽 / ossutil 命令行 / ossbrowser 图形界面

方式 A:控制台拖拽上传(最简单)

  • 进入 Bucket → 文件列表 → 上传文件
  • 直接将所有 HTML/CSS/JS/图片文件拖入上传区域
  • 等待上传完成,确认文件列表中出现你的文件

方式 B:ossutil 命令行(推荐,支持批量同步)

Terminal — 安装 ossutil
# macOS
brew install ossutil

# Windows — 下载 exe 文件后添加到 PATH
# https://help.aliyun.com/document_detail/120075.html

# Linux
curl -o ossutil https://gosspublic.alicdn.com/ossutil/1.7.19/ossutil64
chmod 755 ossutil
./ossutil config
Terminal — 配置与上传
# 配置(需要 AccessKey ID 和 Secret)
# 在控制台 → 右上角头像 → AccessKey 管理 获取
ossutil config
# 依次输入:
# Endpoint: oss-cn-shanghai.aliyuncs.com
# AccessKey ID: 你的ID
# AccessKey Secret: 你的Secret

# 上传整个网站目录
ossutil cp -r ./my-website/ oss://my-bucket-name/ --update

# 同步(删除云端多余文件)
ossutil sync ./my-website/ oss://my-bucket-name/ --delete

# 验证文件已上传
ossutil ls oss://my-bucket-name/

方式 C:ossbrowser 图形界面

  • 下载 ossbrowser(阿里云官方 GUI 工具,支持 Win/Mac/Linux)
  • 输入 AccessKey 登录
  • 找到你的 Bucket,直接拖拽文件夹上传

推荐的目录结构

项目目录结构
my-website/
├── index.html          # 首页(必须)
├── 404.html            # 错误页(推荐)
├── about.html
├── contact.html
├── project-a/
│   ├── index.html      # 访问 /project-a/ 自动加载
│   └── demo.html
├── project-b/
│   └── index.html
├── css/
│   └── style.css
├── js/
│   └── main.js
└── images/
    └── logo.png
5

绑定自定义域名 + HTTPS

将 yourname.com 指向 OSS,并开启免费 SSL 证书

5.1 购买域名(已有域名跳过)

  • 阿里云控制台 → 域名 → 注册域名
  • 搜索想要的域名,.com 约 ¥55/年,.cn 约 ¥29/年
  • 完成购买,等待注册成功邮件

5.2 绑定域名到 OSS

  • 进入 Bucket → 数据管理 → 自定义域名 → 绑定域名
  • 输入你的域名:www.yourdomain.com
  • 勾选「自动添加 CNAME 记录」(如果域名在阿里云购买)
  • 如果域名在其他平台,需手动添加 CNAME 记录

5.3 手动添加 DNS 解析(其他域名平台)

记录类型主机记录记录值TTL
CNAME www my-bucket.oss-cn-shanghai.aliyuncs.com 10分钟
CNAME @ my-bucket.oss-cn-shanghai.aliyuncs.com 10分钟

5.4 开启 HTTPS(免费证书)

  • OSS → 你的域名 → 证书托管 → 上传证书
  • 或者:阿里云 → 数字证书管理 → 免费证书 → 申请(每年 20 个免费)
  • 申请完成后下载,在 OSS 域名绑定处上传证书文件
  • 开启「强制 HTTPS」,自动将 HTTP 跳转到 HTTPS
6

可选:开启 CDN 加速

全国各地访问速度提升 3–10倍,月费约 ¥5–20

  • 控制台 → CDN → 添加域名
  • 业务类型选「图片小文件」
  • 源站配置选「OSS 域名」,选择你的 Bucket
  • 修改 DNS:将 CNAME 由 OSS 地址改为 CDN 提供的 CNAME
  • 等待 DNS 生效(5–30分钟)
💡
更新网站后需要在 CDN 控制台「刷新缓存」,否则访客可能看到旧版本。

费用估算

个人展示网站月费极低

¥0.12
/GB/月
OSS 存储费用
¥0.5
/GB
外网流量费用
¥55
/年
.com 域名
¥0
/年
SSL 证书(免费版)
一个 10MB 的网站,月访问 10000 次,OSS 月费约 ¥1–3。域名是最大开销。
?

常见问题

问题解决方案
访问返回 AccessDenied检查 Bucket 权限是否设为「公共读」
访问返回 404检查静态托管中「默认首页」是否设为 index.html
样式/图片加载失败检查文件路径,OSS 路径区分大小写
CNAME 解析未生效等待 5–30 分钟,或清除本地 DNS 缓存
HTTPS 证书申请失败确认 DNS 已正确解析到阿里云,然后重新申请
更新文件后访客看到旧版本上传时加 --update 参数,或开启 CDN 后手动刷新缓存

常见误区与边界情况

⚠️
误区1:OSS 路径区分大小写Index.htmlindex.html 是不同的对象。静态托管的默认首页是精确匹配 index.html(小写),大写开头的文件不会被识别。统一使用小写文件名可避免此问题。
⚠️
误区2:直接使用 OSS 默认域名无法绑定 HTTPS — 阿里云出于安全政策,禁止在 OSS 默认域名(*.aliyuncs.com)上使用自定义 SSL 证书。必须绑定自定义域名后,才能上传证书开启 HTTPS。
⚠️
误区3:AccessKey 硬编码在代码中 — AccessKey Secret 一旦泄露,攻击者可以操控你的 OSS 数据。自动化部署时,将 AccessKey 存储在 CI/CD 的 Secrets 变量中,不要写入代码文件或提交到 Git 仓库。
小结:OSS 静态托管适合纯 HTML/CSS/JS 网站,部署成本极低(¥1-5/月)。核心步骤:创建公开 Bucket → 开启静态托管 → 上传文件 → 绑定自定义域名 → 开启 HTTPS。更新网站只需重新上传文件,无需重启服务。