静态网站托管(Hosting Websites)
OSS支持静态网站托管。用户可以通过OSS控制台将自己的Bucket配置成静态网站托管模式。配置生效后, 假如这个Bucket在杭州,那么这个静态网站的访问域名为:
http://<Bucket>.oss-cn-hangzhou.aliyuncs.com/
为了使用户更方便地管理在OSS上托管的静态网站,OSS支持两种功能:
索引页面支持(Index Document Support)
- 索引文档是指当用户直接访问静态网站根域名时,OSS返回的默认索引文档(相当于网站的index.html)。如果你为一个Bucket配置了静态网站托管模式,就必须指定一个索引文档。
- 错误页面支持(Error Document Support) 错误文档是指在用户访问该静态网站时,如果遇到HTTP 4XX错误时(最典型的是404 “NOT FOUNT”错误),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,APS.NET等。
- 如果你想使用自己的域名来访问基于Bucket的静态网站,可以通过域名CNAME来实现。
- 由于直接使用Bucket域名进行访问时OSS做了限制,用户的文件无法直接在浏览器显示,建议用户使用CNAME。
- 用户将一个Bucket设置成静态网站托管模式时,必须指定索引页面,错误页面是可选的。
- 用户将一个Bucket设置成静态网站托管模式时,指定的索引页面和错误页面必须是该Bucket内的一个Object。
- 在将一个Bucket设置成静态网站托管模式后,对静态网站根域名的匿名访问,OSS将返回索引页面;对静态网站根域名的签名访问,OSS将返回Get Bucket结果。
- Bucket设置静态网站托管模式后,对于静态网站根域名的访问或者访问不存在的Object会返回给用户设定的Object,对此返回的流量和请求将会计费。
功能使用参考:
- API:Put Bucket Website
- 控制台:静态网站托管