OSS支持静态网站托管。您可以通过OSS 控制台将自己的存储空间配置成静态网站托管模式。

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

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

细节分析

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

功能使用参考