对象存储服务 OBS-静态网站托管:使用场景
使用场景
OBS服务允许在桶上托管静态网站,支持索引页、错误页展示和页面跳转。您可以将静态网站文件上传至OBS的桶中,并对这些文件赋予匿名用户可读权限,然后将该桶配置成静态网站托管模式,就可以实现在OBS上托管静态网站了。
静态网站通常仅包含静态网页,以及可能包含部分可在客户端运行的脚本,如JavaScript、Flash等。相比之下,动态网站则依赖于服务器端处理脚本,包括PHP、JSP或ASP.Net等。OBS当前尚不支持服务器端运行脚本。
在设置了静态网站托管后,有以下两种方式访问OBS。
- 资源管理方式:资源管理方式通过普通的 域名 访问OBS。您可以使用API及SDK方式,结合带有终端节点(Endpoint)的OBS默认域名,实现普通的上传、下载、删除、列举等桶和对象操作。
- 静态网站方式:静态网站方式通过特定的域名访问OBS。使用静态网站访问时,根据配置好的域名托管规则,实现访问目录的索引页、错误页展示和访问页面资源的跳转。
修改静态网站托管设置后会在两分钟内生效,静态网站托管设置生效后,用户可以通过如下形式的网址访问静态资源:
https://静态网站访问域名/对象名 http://静态网站访问域名/对象名
其中静态网站访问域名的结构为:BucketName.obs-website.Endpoint,其中BucketName为桶名,Endpoint为终端节点,各区域的终端节点详情请参见地区和终端节点。例如您想使用静态访问域名访问位于华北-北京四的名为testbucket桶,华北-北京四的Endpoint为cn-north-4.myhuaweicloud.com,则此时对应的静态网站访问域名应该为testbucket.obs-website.cn-north-4.myhuaweicloud.com。
尽量避免目标桶名中带有“.”,否则通过HTTPS访问时可能出现客户端校验证书出错。
为了使您的客户可以访问网站终端节点上的内容,您必须使您的所有内容公开可读。这样,您可以使用对象上的桶策略或ACL来授予必要的权限。
资源管理方式和静态网站方式之间的主要差异如下:
主要差异 |
资源管理方式 |
静态网站方式 |
---|---|---|
访问控制 |
同时支持公共内容和私有内容 |
仅支持公开可读的内容 |
错误消息处理 |
返回XML格式的错误响应 |
返回HTML文档 |
重定向支持 |
不适用 |
同时支持对象级和桶级重定向 |
支持的请求 |
支持所有桶和对象操作 |
仅支持对象上的GET和HEAD请求 |
对桶根级的GET和HEAD请求的响应 |
返回桶中对象key的列表 |
返回配置中指定的索引文档 |