阿里云 OSS 静态网站部署教程

使用对象存储 OSS 部署你的静态网站,绑定自定义域名,开启 HTTPS,一站式上线

01

账号与准备

首先需要一个已实名认证的阿里云账号,并准备好待部署的静态网站文件。

账号要求: 中国大陆用户需完成实名认证,否则无法使用 OSS 服务。个人开发者选择「个人认证」即可。

准备你的静态网站文件,确保目录结构清晰:

my-website/
├── index.html          # 网站首页(必需)
├── 404.html            # 自定义 404 页面(推荐)
├── css/
│   └── style.css
├── js/
│   └── app.js
├── images/
│   └── logo.png
└── favicon.ico
注意: 静态网站托管仅支持 HTML、CSS、JS、图片、字体等静态资源,不支持 PHP、Node.js 等后端语言。
02

开通 OSS 服务

登录阿里云控制台,进入对象存储 OSS 服务页面并开通。

操作步骤:

1. 访问 https://oss.console.aliyun.com/

2. 首次进入会提示开通 OSS 服务,点击「立即开通」

3. 选择计费方式(个人用户推荐「按量付费」)

4. 阅读并同意服务协议,完成开通

5. 开通成功后进入 OSS 管理控制台
费用说明: OSS 按量付费价格低廉,每月前 5GB 存储免费,个人小站每月通常只需几毛钱。新用户还有免费试用额度。
03

创建 Bucket

在 OSS 控制台创建一个存储空间(Bucket),作为静态网站文件的容器。

关键配置:

配置项推荐值说明
Bucket 名称my-site-bucket全局唯一,仅支持小写字母、数字和短横线
所属地域华东1(杭州)选择离目标用户最近的地域
存储类型标准存储适用于频繁访问的网站场景
冗余类型本地冗余(LRS)个人网站本地冗余足够
读写权限公共读网站需要公开访问
版本控制关闭静态网站通常不需要
安全提醒: 设置为「公共读」后桶内所有文件可被公网访问。切勿上传敏感文件(如 .env、密钥、数据库备份)。
04

配置静态网站托管

在 Bucket 设置中开启静态网站托管功能,指定索引文档和错误文档。

操作路径:

Bucket 列表 → 点击 Bucket 名 → 数据管理 → 静态页面

1. 打开「静态页面」开关

2. 默认首页:index.html

3. 默认 404 页:404.html(可选,不填则使用 OSS 默认 404 页面)

4. 点击「保存」

配置完成后,系统会生成一个外网访问地址,格式为:

https://<BucketName>.oss-<Region>.aliyuncs.com
SPA 应用: 使用 Vue/React 构建的单页应用,建议将默认 404 页也设置为 index.html,确保前端路由刷新后正常访问。
05

上传网站文件

将本地网站文件上传到 OSS。推荐使用 ossutil 命令行工具进行批量上传,效率更高。

方式一:控制台上传(适合少量文件)

1. 进入 Bucket → 文件管理
2. 点击「上传文件」→ 选择文件或拖拽上传
3. 可在上传时指定存储路径,保持目录结构

方式二:ossutil 命令行上传(推荐,适合批量)

# 下载安装 ossutil
# macOS / Linux
wget https://gosspublic.alicdn.com/ossutil/1.7.19/ossutil64
chmod +x ossutil64
sudo mv ossutil64 /usr/local/bin/ossutil

# Windows:从阿里云官网下载 ossutil 安装包

# 配置访问凭证
ossutil config
# 按提示输入:AccessKey ID、AccessKey Secret、Endpoint、STS Token(可选)

# 上传整个网站目录
ossutil cp -r ./my-website/ oss://my-site-bucket/ --meta=Cache-Control:no-cache

# 验证上传结果
ossutil ls oss://my-site-bucket/
获取密钥: 鼠标悬停右上角头像 → AccessKey 管理 → 创建 AccessKey。建议使用 RAM 子账号 + 最小权限策略,不要直接使用主账号 AK。
06

绑定自定义域名

将你的自定义域名绑定到 OSS Bucket,并通过 CDN 或 OSS 直接提供 HTTPS 访问。

方式一:OSS 自定义域名(基础方案)

Bucket → Bucket 配置 → 域名管理 → 绑定自定义域名

1. 点击「绑定域名」
2. 输入你的域名(如 www.example.com)
3. 开启「自动添加 CNAME 记录」(或手动在 DNS 服务商处添加)
4. 如需 HTTPS,需在 CDN 或 DCDN 中配置

方式二:CDN 加速域名(推荐)

1. 开通阿里云 CDN 服务

2. 在 CDN 控制台添加加速域名
   加速域名:www.example.com
   源站类型:OSS 域名
   源站地址:选择对应的 OSS Bucket

3. 配置 HTTPS:
   CDN 控制台 → 域名管理 → 选中域名 → HTTPS 配置
   可申请免费 SSL 证书(阿里云 SSL 证书服务)

4. 在 DNS 服务商添加 CNAME 记录:
   www  →  <CDN提供的CNAME地址>
域名备案: 使用中国大陆加速节点,域名必须完成 ICP 备案。备案可在阿里云 APP 上一键完成,通常需要 1-20 个工作日。
07

上线与测试

完成以上配置后,通过域名访问验证部署结果,并进行性能和安全检查。

验证清单:

☐ 通过自定义域名访问网站,首页正常加载
☐ 各页面路由跳转正常(SPA 需验证刷新后是否 404)
☐ 静态资源(CSS/JS/图片/字体)加载无误
☐ HTTPS 证书生效,浏览器显示安全锁图标
☐ 404 页面(自定义或默认)正常展示
☐ 清除浏览器缓存后再次访问确认
☐ 移动端浏览器访问正常

常见问题排查:

现象原因解决方案
访问返回 AccessDeniedBucket 权限非公共读改为公共读权限
刷新页面 404(SPA)路由未重写到 index.html默认 404 页设为 index.html
HTTPS 不生效CDN 未配置 SSL 证书CDN 控制台配置证书
资源加载跨域报错未配置 CORSBucket 中设置 CORS 规则
网站访问慢未配置 CDN 加速开启 CDN 并配置缓存策略
DNS 解析不生效CNAME 尚未生效等待 DNS 传播(最长 48h)
部署完成! 你的静态网站已成功上线。建议定期使用 LighthousePageSpeed Insights 检查网站性能。每次更新网站文件后记得在 CDN 控制台执行「刷新缓存」。