阿里云国际 OSS 静态网站托管指南:域名、HTTPS 与安全配置
静态网站只包含 HTML、CSS、JavaScript、图片等文件,不依赖 PHP、Node.js 或数据库。对于作品集、产品文档和活动落地页,可以使用阿里云国际 OSS 托管静态文件,无需维护操作系统和 Web 服务器。
本文依据阿里云国际 OSS 官方文档整理,界面名称可能随控制台更新而变化,应以实际控制台为准。
OSS 静态网站托管适合哪些场景
适合:
- 个人作品集和企业展示页;
- 产品帮助文档;
- 前端单页应用构建产物;
- 活动页和下载页;
- 与 API 后端分离的前端资源。
不适合:
- 需要 PHP、Java、Node.js 等服务端运行环境的网站;
- 依赖本地数据库或服务器会话的系统;
- 需要在 OSS 内执行动态代码的应用。
动态业务可以把前端放在 OSS,将 API 部署在云服务器、容器或函数计算中。
准备工作
- 准备阿里云国际账号,并确认 OSS 已开通;
- 准备构建完成的静态文件;
- 确保网站入口文件名为
index.html; - 如需正式对外访问,准备一个可管理 DNS 的自定义域名;
- 如需 HTTPS,准备与域名匹配的 SSL 证书。
阿里云国际官方登录入口为:
https://account.alibabacloud.com/
如果需要通过云管家申请或充值账号,应先查看账号申请页和阿里云国际充值页的实时状态。
创建 OSS Bucket
进入 OSS 控制台并创建 Bucket:
- Bucket 名称必须全局唯一;
- 区域应尽量靠近主要访问用户;
- 静态网站通常使用标准存储;
- 创建后再配置访问权限,不要为了测试直接开放不必要的写权限。
静态网站需要允许访客读取网站对象,但不应开放公共写入。如果 Bucket 中还存放私有文件,应将网站资源与私有数据分开存储。
上传网站文件
将网站构建目录中的文件完整上传到 Bucket,并保持原有目录结构,例如:
index.html
assets/
app.css
app.js
images/
logo.png
error.html
上传后检查 index.html 中的资源路径。以 /assets/app.js 开头的绝对路径和以 ./assets/app.js 开头的相对路径,在子目录部署时表现可能不同。
开启静态网站托管
在 Bucket 设置中找到静态网站托管配置:
- 将默认首页设置为
index.html; - 根据需要设置错误页面,例如
error.html; - 多级目录包含独立首页时,再启用子目录首页规则;
- 保存配置并测试页面路径。
默认首页和错误页面必须已经上传到 Bucket。
绑定自定义域名
阿里云官方文档指出,直接使用 Bucket 域名访问 HTML 文件时,浏览器可能按下载文件处理。正式网站应绑定自定义域名。
一般流程为:
- 在 OSS 控制台申请域名所有权验证令牌;
- 按提示在 DNS 服务商添加 TXT 验证记录;
- 验证通过后,将域名绑定到 Bucket;
- 在 DNS 中添加 CNAME,指向 OSS 提供的目标地址;
- 等待 DNS 生效并测试访问。
如果 Bucket 位于中国大陆,网站域名可能需要 ICP 备案;国际区域的要求应结合资源所在地和业务合规要求判断。
配置 HTTPS
使用自定义域名时,应配置 HTTPS:
- 未使用 CDN:在 OSS 域名管理中为自定义域名托管证书;
- 使用 CDN:在 CDN 控制台为加速域名配置证书;
- 证书必须覆盖当前域名且处于有效期内;
- 配置完成后测试 HTTP 到 HTTPS 的跳转。
不要在代码仓库、聊天记录或前端文件中保存证书私钥。
单页应用刷新返回 404 怎么办
React、Vue 等单页应用使用前端路由时,直接刷新 /account 一类路径可能找不到对应对象。
可选择:
- 使用 Hash 路由,例如
/#/account; - 配置 OSS 静态网站路由规则,将不存在的前端路由返回入口页;
- 在 CDN 或边缘代理层配置回源与重写规则。
配置回退时要确保真实不存在的资源仍能返回正确状态,避免所有错误页面都变成首页。
缓存和更新建议
- HTML 文件使用较短缓存时间;
- 带内容哈希的 CSS、JavaScript 和图片可以长时间缓存;
- 更新后若页面仍显示旧内容,应检查浏览器、CDN 和 OSS 缓存;
- 删除旧构建文件前,确认新 HTML 已不再引用它们。
安全与费用检查
- 只开放读取网站文件所需的权限;
- 定期检查 Bucket ACL、RAM 策略和跨域配置;
- 开启访问日志和费用告警;
- 费用通常包括存储、请求、外网流量和可选 CDN 服务;
- 不要用未经限制的公共 Bucket 存放客户数据、密钥或备份。
常见问题
OSS 可以运行 PHP 或数据库吗?
不可以。OSS 用于对象存储和静态内容分发,动态程序需要部署到计算服务。
自定义域名必须使用 CDN 吗?
不是。域名可以直接映射到 OSS;如果需要全球加速、缓存规则或更灵活的 HTTPS 管理,可以再接入 CDN。
更新文件后为什么没有立即生效?
常见原因是浏览器或 CDN 缓存。应检查缓存响应头,刷新 CDN 缓存,并确认上传到了正确 Bucket 和路径。
总结
使用阿里云国际 OSS 搭建静态网站的关键步骤是:创建独立 Bucket、上传构建文件、设置首页和错误页、绑定自定义域名、配置 HTTPS,并控制公共读取权限。上线后还应持续关注缓存、访问日志和费用告警。
参考: