您可以通过 OSS API 的 PutBucketWebsite 接口将自己的存储空间配置成静态网站托管模式,并通过存储空间域名访问该静态网站。

说明 配置静态网站托管的 API 详细接口信息请参考PutBucketWebsite

静态网站托管配置生效后,假如这个Bucket在杭州,那么这个静态网站的访问域名为:

http://<Bucket>.oss-cn-hangzhou.aliyuncs.com/
说明 针对中国大陆、中国香港地区的 OSS,如果直接使用OSS默认域名从互联网访问OSS上网页类型文件,Response Header 中会自动加上 Content-Disposition:'attachment=filename;'。即从浏览器访问网页类型文件时,会以附件形式进行下载。若用户使用自有域名访问OSS的请求,Response Header 中不会加上此信息。使用自有域名访问 OSS,请参考绑定自定义域名

为了使您更方便地管理在 OSS 上托管的静态网站,OSS 支持两种功能:

  • 静态页面支持(Index Document Support)

    静态页是指当用户直接访问静态网站根域名时,OSS 返回的默认静态页(相当于网站的 index.html)。如果您为一个 Bucket 配置了静态网站托管模式,就必须指定一个静态页。

  • 错误页面支持(Error Document Support)

    错误页面是指在用户访问该静态网站时,如果遇到 HTTP 4XX 错误时(最典型的是 404 NOT FOUND 错误),OSS 返回给用户的错误页面。通过指定错误页面,您可以为您的用户提供恰当的出错提示。

例如:设置索引页面为 index.html,错误页面为 error.html,Bucket 为 oss-sample,Endpoint 为 oss-cn-hangzhou.aliyuncs.com,那么:

  • 用户访问 http://oss-sample.oss-cn-hangzhou.aliyuncs.com/http://oss-sample.oss-cn-hangzhou.aliyuncs.com/directory/ 的时候,相当于访问 http://oss-sample.oss-cn-hangzhou.aliyuncs.com/index.html
  • 用户访问 http://oss-sample.oss-cn-hangzhou.aliyuncs.com/object 的时候,如果 object 不存在,OSS 会返回http://oss-sample.oss-cn-hangzhou.aliyuncs.com/error.html

操作方式

操作方式 说明
控制台 Web应用程序,直观易用
Java SDK 丰富、完整的各类语言SDK demo
Python SDK
PHP SDK
Go SDK
C SDK
.NET SDK
Node.js SDK
Ruby SDK

细节分析

  • 所谓静态网站是指所有的网页都由静态内容构成,包括客户端执行的脚本,例如 JavaScript。OSS 不支持涉及到需要服务器端处理的内容,例如 PHP,JSP,ASP.NET等。
  • 如果您想使用自己的域名来访问基于 Bucket 的静态网站,可以通过绑定自定义域名来实现。
  • 将一个 Bucket 设置成静态网站托管模式时:
    • 索引页面是必须指定的,错误页面是可选的。
    • 指定的索引页面和错误页面必须是该 Bucket 内的 Object。
    说明 若您的存储空间为归档类型,需保证这两个 Object 为标准存储,或处于解冻状态,否则会导致静态网页无法被访问。
  • 将一个 Bucket 设置成静态网站托管模式后:
    • 对静态网站根域名的匿名访问,OSS 将返回索引页面;对静态网站根域名的签名访问,OSS 将返回 GetBucket 结果。
    • 访问静态网站根域名或者访问不存在的 Object 时,OSS 会返回给用户设定的 Object,对此返回的流量和请求将会计费。

更多参考