九游平台/ 对象存储服务 obs/ api参考/ api/ / 设置桶的网站配置
更新时间:2025-03-06 gmt 08:00

设置桶的网站配置-九游平台

功能介绍

obs允许在桶内保存静态的网页资源,如.html网页文件、flash文件、音视频文件等,当客户端通过桶的website接入点访问这些对象资源时,浏览器可以直接解析出这些支持的网页资源,呈现给最终用户。典型的应用场景有:

  • 重定向所有的请求到另外一个站点。
  • 设定特定的重定向规则来重定向特定的请求。

本接口实现为桶创建或更新网站配置信息。

要正确执行此操作,需要确保执行者有putbucketwebsite权限。默认情况下只有桶的所有者可以执行此操作,也可以通过设置桶策略或用户策略授权给其他用户。

1.尽量避免目标桶名中带有“.”,否则通过https访问时可能出现客户端校验证书出错。

2.设置桶的静态网站托管配置请求消息体的上限是10kb。

请求消息样式

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
put/?websitehttp/1.1
host:bucketname.obs.cn-north-4.myhuaweicloud.com
content-length:length
date:date
authorization:authorization


hostname

请求消息参数

该请求消息中不使用消息参数。

请求消息头

该请求使用公共消息头,具体参见表3

请求消息元素

在此请求中,需要在请求的消息体中配置桶的网站配置信息,配置信息以xml格式上传。

  • 如果重定向所有请求,网站配置元素如表1描述。
    表1 重定向所有请求website配置元素

    名称

    描述

    是否必选

    websiteconfiguration

    网站配置的根节点。

    类型:container

    父节点:无

    redirectallrequeststo

    描述所有请求的重定向行为,如果这个节点出现,所有其他的兄弟节点都不能出现。

    类型:container

    父节点:websiteconfiguration

    hostname

    描述重定向的站点名。

    类型:string

    父节点:redirectallrequeststo

    protocol

    描述重定向请求时使用的协议(http,https),默认使用http协议。

    类型:string

    父节点:redirectallrequeststo

  • 如果想要设定重定向规则,网站配置元素如表2描述。
    表2 设定重定向规则website配置元素

    名称

    描述

    是否必选

    websiteconfiguration

    website配置的根节点。

    类型:container

    父节点:无

    indexdocument

    suff元素

    类型:container

    父节点:websiteconfiguration

    suffix

    suffix元素被追加在对文件夹的请求的末尾(例如:suffix配置的是“index.html”,请求的是“samplebucket/images/”,返回的数据将是“samplebucket”桶内名为“images/index.html”的对象的内容)。suffix元素不能为空或者包含“/”字符。

    类型:string

    父节点:indexdocument

    errordocument

    key元素。

    类型:container

    父节点:websiteconfiguration

    key

    当4xx错误出现时使用的对象的名称。这个元素指定了当错误出现时返回的页面。

    类型:string

    父节点:errordocument

    条件:父节点errordocument存在时

    routingrules

    routing元素

    类型:container

    父节点:websiteconfiguration

    routingrule

    重定向规则的元素。一条重定向规则包含一个condition和一个redirect,当condition匹配时,redirect生效

    类型:container

    父节点:routingrules

    元素中至少要有一个routingrule元素

    condition

    描述重定向规则匹配的条件的元素。

    类型:container

    父节点:routingrule

    keyprefixequals

    描述当重定向生效时对象名的前缀。

    例如:

    • 重定向examplepage.html对象的请求,keyprefixequals设为examplepage.html。

    类型:string

    父节点:condition

    条件:父节点condition存在,并且兄弟节点httperrorcodereturnedequals不存在。如果设定了两个条件,只有都匹配时,redirect才生效。

    httperrorcodereturnedequals

    描述redirect生效时的http错误码。当发生错误时,如果错误码等于这个值,那么redirect生效。

    例如:

    • 当返回的http错误码为404时重定向到notfound.html,可以将condition中的httperrorcodereturnedequals设置为404,redirect中的replacekeywith设置为notfound.html。

    类型:string

    父节点:condition

    条件:父节点condition存在,并且兄弟节点keyprefixequals不存在。如果设定了多个条件,需要同时匹配所有的条件,redirect才可生效。

    redirect

    重定向信息的元素。可以重定向到另一个站点、另一个页面或使用另一个协议。当事件或错误发生时,可以指定不同的返回码。

    类型:container

    父节点:routingrule

    protocol

    描述重定向请求时使用的协议。

    类型:string

    父节点:redirect

    可选值:http、https

    条件:有其他兄弟节点存在时非必选

    hostname

    描述重定向请求时使用的站点名。

    类型:string

    父节点:redirect

    条件:有其他兄弟节点存在时非必选

    replacekeyprefixwith

    描述重定向请求时使用的对象名前缀,请求中的对象名会将keyprefixequals的内容替换为replacekeyprefixwith的内容。

    例如:

    想把所有对docs(目录下的对象)的请求重定向到documents(目录下的对象),可以将condition中的keyprefixequals设置为docs,redirect中的replacekeyprefixwith设置为documents。那么对于对象名称为"docs/a.html",重定向的结果为"documents/a.html"。

    类型:string

    父节点:redirect

    条件:有其他兄弟节点存在时非必选,不可与replacekeywith同时存在

    replacekeywith

    描述重定向请求时使用的对象名,请求中的整个对象名会被替换为replacekeywith的内容。

    例如:

    想把所有对"docs"目录下的所有对象的请求重定向到"documents/error.html",可以将condition中的keyprefixequals设置为docs,redirect中的replacekeywith设置为"documents/error.html"。那么对于对象名称为"docs/a.html"和"docs/b.html",重定向的结果都为"documents/error.html"。

    类型:string

    父节点:redirect

    条件:有其他兄弟节点存在时非必选,不可与replacekeyprefixwith同时存在

    httpredirectcode

    描述响应中的http状态码。

    类型:string

    父节点:redirect

    条件:有其他兄弟节点存在时非必选

响应消息样式

1
2
3
http/1.1status_code
date:date
content-length:length

响应消息头

该请求的响应消息使用公共消息头,具体请参考表1

响应消息元素

该请求的响应消息不带消息元素。

错误响应消息

无特殊错误,所有错误已经包含在表2中。

请求示例:将该桶的所有请求重定向至其他桶或url

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
put/?websitehttp/1.1
user-agent:curl/7.29.0
host:examplebucket.obs.cn-north-4.myhuaweicloud.com
accept:*/*
date:wed,01jul201503:40:29gmt
authorization:obsh4ipjx0tqththebqqcec:puk7yp0yebnq4p6gqzvjos7whom=
content-length:194
xmlns="http://obs.cn-north-4.myhuaweicloud.com/doc/2015-06-30/">

www.huaweicloud.com

响应示例:将该桶的所有请求重定向至其他桶或url

1
2
3
4
5
6
http/1.1200ok
server:obs
x-obs-request-id:bf2600000164360d144670b9d02aabc6
x-obs-id-2:32aaaqaaeaabsaagaaeaabaaaqaaeaabcsitqmz/aofux97l1xx8s67v3ccqtxwk
date:wed,01jul201503:40:29gmt
content-length:0

请求示例:设置桶的网站配置,不配置重定向

put /?website http/1.1
authorization: obs h4ipjx0tqththebqqcec:iqspeubl66pwxdapxjrkk6hlcn4=
user-agent: curl/7.29.0
host: examplebucket.obs.region.myhuaweicloud.com
date: wed, 01 jul 2015 02:37:22 gmt
content-type: application/xml
 

    
        index.html
    
    
        someerrordocument.html
    

响应示例:设置桶的网站配置,不配置重定向

x-obs-id-2: 32aaaqaaeaabsaagaaeaabaaaqaaeaabcsfxlr frxujzyplod1lrlk45tvx gpr
x-obs-request-id: 0000018a39f07d0dd3888442dc29719e
server: obs
content-length: 0
date: wed, 01 jul 2015 02:37:22 gmt

请求示例:设置桶的网站配置,并指定可选的重定向规则

put /?website http/1.1
authorization: obs h4ipjx0tqththebqqcec:iqspeubl66pwxdapxjrkk6hlcn4=
user-agent: curl/7.29.0
host: examplebucket.obs.region.myhuaweicloud.com
date: wed, 01 jul 2015 02:37:22 gmt
content-type: application/xml
 

    
        index.html
    
    
        error.html
    
    
        
            
                docs/
            
            
                documents/
            
        
    

响应示例:设置桶的网站配置,并指定可选的重定向规则

x-obs-id-2: 32aaaqaaeaabsaagaaeaabaaaqaaeaabcsxixo46vlyhgry/zwgqlm0fmnpefthi
x-obs-request-id: 0000018a39f2e328d3888f46db9bb5a2
server: obs
content-length: 0
date: wed, 01 jul 2015 02:37:22 gmt

请求示例:设置桶的网站配置,并重定向错误

put /?website http/1.1
authorization: obs h4ipjx0tqththebqqcec:iqspeubl66pwxdapxjrkk6hlcn4=
user-agent: curl/7.29.0
host: examplebucket.obs.region.myhuaweicloud.com
date: wed, 01 jul 2015 02:37:22 gmt
content-type: application/xml
 

    
        index.html
    
    
        error.html
    
    
        
            
                404
            
            
                www.huaweicloud.com
                report-404/
            
        
    

响应示例:设置桶的网站配置,并重定向错误

x-obs-id-2: 32aaaqaaeaabsaagaaeaabaaaqaaeaabcs/xbblgzwruil439ewmw1v/vphfb6jy
x-obs-request-id: 0000018a3a06c048d38610c04366b2f5
server: obs
content-length: 0
date: wed, 01 jul 2015 02:37:22 gmt

请求示例:设置桶的网站配置,并将文件夹请求重定向到页面

put /?website http/1.1
authorization: obs h4ipjx0tqththebqqcec:iqspeubl66pwxdapxjrkk6hlcn4=
user-agent: curl/7.29.0
host: examplebucket.obs.region.myhuaweicloud.com
date: wed, 01 jul 2015 02:37:22 gmt
content-type: application/xml
 

    
        index.html
    
    
        error.html
    
    
        
            
                images/
            
            
                errorpage.html
            
        
    

响应示例:设置桶的网站配置,并将文件夹请求重定向到页面

x-obs-id-2: 32aaaqaaeaabsaagaaeaabaaaqaaeaabcsljakddyha8ly/hcofnfblbeakcaycv
x-obs-request-id: 0000018a3a09d30cd306902fc7572429
server: obs
content-length: 0
date: wed, 01 jul 2015 02:37:22 gmt

相关文档

网站地图