当前位置:主页 > 查看内容

配置静态网站托管_对象存储服务 OBS_控制台指南_静态网站托管

发布时间:2021-09-09 00:00| 位朋友查看

简介:用户可将自己的桶配置成静态网站托管模式,并通过桶域名访问该静态网站。 前提条件 静态网站所需的网页文件已上传到指定桶中。 如果静态网站文件为“归档存储”类别,则需要先恢复,具体操作步骤请参见 恢复归档存储文件 。 如需将托管的静态网站对所有人开……

用户可将自己的桶配置成静态网站托管模式,并通过桶域名访问该静态网站。

前提条件

静态网站所需的网页文件已上传到指定桶中。

如果静态网站文件为“归档存储”类别,则需要先恢复,具体操作步骤请参见恢复归档存储文件

如需将托管的静态网站对所有人开放,必须配置匿名用户可访问桶内的静态网站文件。静态网站托管配置会在两分钟内生效。

操作步骤

  1. OBS管理控制台左侧导航栏选择“对象存储”
  2. 在桶列表单击待操作的桶,进入“概览”页面。
  3. 可选:若静态网站需对所有人开放,配置如下策略,使桶内静态网站文件能被公开访问。

    参考对匿名用户授予指定对象的公共读权限为匿名用户授予静态网站文件的读取权限。

    若桶中只有静态网站文件,则配置桶策略为“公共读”,使桶内所有文件能被公开访问。

    1. 单击“访问权限控制>桶策略”。
    2. 单击“创建桶策略”。
    3. 单击“公共读”模板右侧的“使用模板创建”。
      图1 配置公共读权限
    4. 无需修改桶策略模板内容,直接单击“配置确认”后再单击“创建”,完成桶策略创建。

  4. 在“基础配置”下,单击“静态网站托管”卡片,系统跳转至“静态网站托管”界面。

    或您可以直接在左侧导航栏单击“基础配置>静态网站托管”,进入“静态网站托管”界面。

  5. 单击“配置静态网站托管”,系统弹出“配置静态网站托管”对话框。
  6. “状态”设置为使能状态。
  7. “托管模式”选择“配置到当前桶”,如图2所示。

    图2 配置静态网站托管

  8. 在“默认首页”、“默认404错误页面”中设置默认缺省页面和404(Not Found)页面。

    • 默认首页:即访问静态网站时的默认首页。当使用OBS管理控制台配置静态网站托管时,仅支持“html”格式的网页文件;当使用API的方式配置时,OBS不进行限制,用户必须指定对象的“Content-Type”。

      OBS仅支持配置桶根目录下的文件(如“index.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905”)作为默认首页,暂不支持按目录层级的方式(如“/page/index.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905”)配置默认首页。

    • 默认404错误页面:即访问静态网站遇到错误时,OBS返回给用户的错误页面。当使用OBS管理控制台配置静态网站托管时,仅支持桶根目录下html、jpg、png、bmp、webp格式的文件;当使用API的方式配置时,OBS不进行限制,用户必须指定对象的“Content-Type”。

  9. 可选:在“重定向规则”中配置重定向规则。满足重定向规则的请求将被重定向到指定主机或页面。

    “重定向规则”采用JSON或XML格式编写,可以包含多条重定向规则,每条重定向规则包含一个Condition和一个Redirect,参数说明如所示。

    表1 参数说明

    容器

    键值

    键值说明

    Condition

    KeyPrefixEquals

    重定向生效时的对象名前缀。当向对象发送请求时,如果对象名前缀等于这个值,那么重定向生效。

    例如:重定向ExamplePage.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905对象的请求,KeyPrefixEquals设为ExamplePage.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905。

    HttpErrorCodeReturnedEquals

    重定向生效时的HTTP错误码。当发生错误时,如果错误码等于这个值,那么重定向生效。

    例如:当返回的HTTP错误码为404时重定向到NotFound.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905,可以将Condition中的HttpErrorCodeReturnedEquals设置为404,Redirect中的ReplaceKeyWith设置为NotFound.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905。

    Redirect

    Protocol

    重定向请求生效时使用的协议。取值为HTTP或HTTPS,如不设置,默认为HTTP。

    HostName

    重定向请求生效时使用的主机名。如不设置,代表重定向至原请求的HostName。

    ReplaceKeyPrefixWith

    重定向请求生效时使用的对象名前缀。

    ReplaceKeyWith

    重定向请求生效时使用的对象名。

    HttpRedirectCode

    响应中的HTTP状态码。默认值为301,表示永久重定向到Redirect指定的位置,也可根据业务实际情况设置。

    重定向规则示例

    • 示例一:对所有前缀为“folder1/”对象的请求,自动重定向至主机“www.example.com”上前缀为“target.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905”的页面,并使用HTTPS协议。
      [
      	{
      	"Condition": {
      		"KeyPrefixEquals": "folder1/"
      		},
      	"Redirect":{
      		"Protocol": "HTTPS",
      		"HostName": "www.example.com",
      		"ReplaceKeyPrefixWith": "target.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905"
      		}
      	}
      ]
    • 示例二:对所有前缀为“folder2/”对象的请求,自动重定向至本OBS桶中前缀为“folder/”的对象上。
      [
      	{
      	"Condition": {
      		"KeyPrefixEquals": "folder2/"
      		},
      	"Redirect":{
      		"ReplaceKeyPrefixWith": "folder/"
      		}
      	}
      ]
    • 示例三:对所有前缀为“folder.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905”对象的请求,自动重定向至本OBS桶的“folderdeleted.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905”对象上。
      [
      	{
      	"Condition": {
      		"KeyPrefixEquals": "folder.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905"
      		},
      	"Redirect":{
      		"ReplaceKeyWith": "folderdeleted.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905"
      		}
      	}
      ]
    • 示例四:在未找到请求对象返回HTTP状态码404时,自动重定向至主机“www.example.com”上前缀为“report-404/” 的页面。
      例如,如果您请求页面ExamplePage.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905,且它导致了HTTP 404错误,该请求将重定向至www.example.com上的report-404/ExamplePage.html?fromacct=525a03cf-8bd2-4921-b724-84ea259121fb&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905页面。如果没有设置404的重定向规则,在发生HTTP 404错误时将返回上一步中配置的默认404错误页面。
      [
      	{
      	"Condition": {
      		"HttpErrorCodeReturnedEquals": "404"
      		},
      	"Redirect":{
      		"HostName": "www.example.com",
      		"ReplaceKeyPrefixWith": "report-404/"
      		}
      	}
      ]

  10. 单击“确定”。

    OBS上托管静态网站配置生效后,您可以通过静态网站托管访问域名访问该静态网站。

    由于浏览器缓存等原因,您可能需要清除浏览器缓存后才能查看到预期效果。


本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文

  • 周排行
  • 月排行
  • 总排行

随机推荐