对象存储服务 OBS-静态网站托管:使用场景

时间:2023-12-28 21:03:43

使用场景

OBS服务允许在桶上托管静态网站,支持索引页、错误页展示和页面跳转。您可以将静态网站文件上传至OBS的桶中,并对这些文件赋予匿名用户可读权限,然后将该桶配置成静态网站托管模式,就可以实现在OBS上托管静态网站了。

静态网站通常仅包含静态网页,以及可能包含部分可在客户端运行的脚本,如JavaScript、Flash等。相比之下,动态网站则依赖于服务器端处理脚本,包括PHP、JSP或ASP.Net等。OBS当前尚不支持服务器端运行脚本。

图1 静态网站示意图

在设置了静态网站托管后,有以下两种方式访问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的列表

返回配置中指定的索引文档

support.huaweicloud.com/ugobs-obs/obs_41_0036.html