本文由 阿里云国际站代理商『翼龙云/TG @Yilongcloud 撰写』如需转载请注明!
一、方案优势
全托管免运维,省去服务器环境搭建、系统补丁更新工作; 按量计费,仅收取存储与外网流出流量,项目起步成本低; 依托 OSS 高可用架构,可承接业务流量波动; 可搭配 DCDN 全站加速,实现全球节点分发,优化全球用户访问体验。
二、前置准备
前端静态构建产物:dist 打包目录,包含 index.html、CSS、JS、图片等资源; 已注册海外域名,阿里云国际版海外节点无需 ICP 备案; 阿里云国际版账号。注册、外币支付遇到门槛,可咨询翼龙云 / Yilongcloud,提供注册梳理、充值协助服务。
重要提醒:OSS 原生外网域名不可以直接用于网站访问,浏览器会直接下载 HTML 文件而不是渲染网页,必须绑定自定义域名访问站点。
三、创建 OSS Bucket
登录阿里云国际版控制台,进入对象存储 OSS 服务; 点击创建 Bucket; 地域选择:面向东南亚业务选新加坡,北美业务选弗吉尼亚,欧洲业务选择法兰克福; 存储类型选择标准存储,适配网站高频读取场景; 权限控制:新建 Bucket 默认开启阻止公共访问,静态托管需要先关闭该开关; 读写权限 ACL 设置为公共读(Public Read)。 风险提示:公共读代表全部文件公网可被访问,禁止存放隐私文件,务必配置防盗链,防止盗链产生高额流量账单; 其余配置保持默认,确认完成 Bucket 创建。
四、上传静态网站文件
进入 Bucket 详情页,打开文件管理; 批量上传网站全部静态资源,index.html 务必放置在 Bucket 根目录; 保持 CSS、JS、图片文件夹层级和本地打包目录完全一致; 海外 OSS 底层为 Linux 环境,文件名大小写敏感,index.html 和 Index.html 属于两个不同文件,书写错误会出现 403 报错。
五、开启静态网站托管功能
Bucket 菜单找到数据管理下的静态网站托管; 开启托管状态; 默认首页填写 index.html; 场景区分配置:
普通多页面网站:默认 404 页填写提前上传好的 404.html,响应码设置 404;
Vue/React SPA 单页应用:404 页面填写 index.html,错误文档响应码设置为 200,解决路由刷新白屏 404 问题;
保存配置。
六、绑定自定义域名与 HTTPS 证书配置
OSS 自带系统域名带有厂商后缀,不利于品牌展示与 SEO,建议绑定自有域名并配置 HTTPS。
进入 Bucket 配置域名管理,点击绑定用户域名,填入你的站点域名; 按照控制台提示完成域名所有权 TXT 校验,仅配置 DNS 解析不做校验,访问会直接返回 403; 前往域名服务商后台,新增 CNAME 记录,指向 Bucket 对应的 OSS 外网域名。DNS 存在 TTL 缓存,一般 515 分钟生效; HTTPS 证书托管:域名校验完成后进入证书托管。证书需要提前在数字证书管理服务申请免费 DV 证书,或是上传第三方 PEM 完整证书(包含中间证书链)。
提示:OSS 内部无法直接申请 SSL 证书,证书统一在数字证书管理服务模块操作,免费证书配额、收费标准以控制台实时展示为准。
七、安全加固:配置 Referer 防盗链(必做)
Bucket 开启公共读之后,外部站点可以直接盗链站点图片、脚本资源,消耗大量外网流量产生意外账单。进入 Bucket【数据安全防盗链】,开启防盗链,将自身网站域名加入 Referer 白名单,按需配置是否允许空 Referer 访问。
八、验证访问与故障排障
使用绑定完成的自定义域名访问网站,测试首页加载、静态资源、404 页面、SPA 路由刷新效果,不要使用 OSS 默认域名做网页测试。
| 故障现象 | 排查重点 |
| 访问返回 403 AccessDenied | 确认阻止公共访问已关闭、ACL 为公共读;检查文件名大小写;确认自定义域名完成所有权校验 |
| 浏览器直接下载 HTML,页面不渲染 | 禁止使用 OSS 原生域名,使用绑定后的自定义域名访问 |
| SPA 首页正常,子路由刷新白屏 404 | 静态托管 404 页面填写 index.html,错误响应码设置 200 |
| 域名解析完成依旧无法打开网站 | 等待 DNS 缓存生效;确认域名已完成 OSS 控制台所有权校验 |
| 浏览器提示混合内容不安全告警 | 确认 HTTPS 证书完整,页面内部资源全部使用 HTTPS 协议引用 |
九、项目下线资源清理
业务停止使用,按顺序操作,规避持续计费与残留配置: 关闭静态网站托管; 域名管理内解绑自定义域名; 清空 Bucket 全部文件与碎片; 最后执行删除 Bucket。
十、生产环境最佳实践
上面为 OSS 直接托管方案,适合测试演示。正式出海业务推荐架构:私有 Bucket + DCDN 全站加速。Bucket 关闭公共读,依靠 DCDN 回源鉴权对外提供服务,搭配缓存、防盗链策略,兼顾访问速度与数据安全。
常见问题 FAQ:
Q1:阿里云国际 OSS 静态网站托管需要 ICP 备案吗? A:海外地域 Bucket 绑定海外域名,无需 ICP 备案。
Q2:Vue、React 打包部署,刷新子路由 404 白屏如何处理? A:静态网站托管配置,404 页面填写 index.html,错误文档响应码设置 200,由前端 JS 接管路由。
Q3:已经设置公共读,访问自定义域名仍然报 403? A:两点优先排查:①Bucket 的阻止公共访问开关已经关闭;②自定义域名完成 OSS 控制台 TXT 所有权校验,仅做 DNS 解析不生效。
Q4:OSS 怎么配置 HTTPS,能否使用免费证书? A:先到数字证书管理服务申请 DV 免费证书或者上传第三方证书,域名校验完成后,在域名管理的证书托管加载证书;OSS 不能直接生成 SSL 证书。
Q5:公共读 Bucket 一定要配置防盗链吗? A:强烈建议配置,防止外部网站盗链资源,避免产生高额外网流出账单。
