阿里云 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 页面(自定义或默认)正常展示
☐ 清除浏览器缓存后再次访问确认
☐ 移动端浏览器访问正常
常见问题排查:
| 现象 | 原因 | 解决方案 |
|---|---|---|
| 访问返回 AccessDenied | Bucket 权限非公共读 | 改为公共读权限 |
| 刷新页面 404(SPA) | 路由未重写到 index.html | 默认 404 页设为 index.html |
| HTTPS 不生效 | CDN 未配置 SSL 证书 | CDN 控制台配置证书 |
| 资源加载跨域报错 | 未配置 CORS | Bucket 中设置 CORS 规则 |
| 网站访问慢 | 未配置 CDN 加速 | 开启 CDN 并配置缓存策略 |
| DNS 解析不生效 | CNAME 尚未生效 | 等待 DNS 传播(最长 48h) |
部署完成! 你的静态网站已成功上线。建议定期使用 Lighthouse 或 PageSpeed Insights 检查网站性能。每次更新网站文件后记得在 CDN 控制台执行「刷新缓存」。