華為云計(jì)算 云知識(shí) 設(shè)置桶的網(wǎng)站配置SetBucketWebsite
設(shè)置桶的網(wǎng)站配置SetBucketWebsite

 

接口說(shuō)明

OBS允許在桶內(nèi)保存靜態(tài)的網(wǎng)頁(yè)資源,如.html網(wǎng)頁(yè)文件、flash文件、音視頻文件等,當(dāng)客戶(hù)端通過(guò)桶的Website接入點(diǎn)訪問(wèn)這些對(duì)象資源時(shí),瀏覽器可以直接解析出這些支持的網(wǎng)頁(yè)資源,呈現(xiàn)給最終用戶(hù)。典型的應(yīng)用場(chǎng)景有:

重定向所有的請(qǐng)求到另外一個(gè)站點(diǎn)。 設(shè)定特定的重定向規(guī)則來(lái)重定向特定的請(qǐng)求。 本接口實(shí)現(xiàn)為桶創(chuàng)建或更新網(wǎng)站配置信息。

要正確執(zhí)行此操作,需要確保執(zhí)行者有PutBucketWebsite權(quán)限。默認(rèn)情況下只有桶的所有者可以執(zhí)行此操作,也可以通過(guò)設(shè)置桶策略或用戶(hù)策略授權(quán)給其他用戶(hù)。

說(shuō)明: 1.盡量避免目標(biāo)桶名中帶有“.”,否則通過(guò)HTTPS訪問(wèn)時(shí)可能出現(xiàn)客戶(hù)端校驗(yàn)證書(shū)出錯(cuò)。

2.設(shè)置桶的網(wǎng)絡(luò)配置請(qǐng)求消息體的上限是10KB。

URL
PUT  https://obs.cn-north-4.myhuaweicloud.com/ 
請(qǐng)求參數(shù)
名稱(chēng) 類(lèi)型 IN 必選 描述
Authorization
 
string header

請(qǐng)求消息中可帶的簽名信息。

Date
 
string header

請(qǐng)求發(fā)起端的日期和時(shí)間,例如:Wed, 27 Jun 2018 13:39:15 +0000。 默認(rèn)值:無(wú)。 條件:如果消息頭中帶了x-obs-date字段,則可以不帶該字段,其他情況下必選。

bucket_name
 
string query

請(qǐng)求的桶名稱(chēng)。

website
 
string query

website表示請(qǐng)求桶的網(wǎng)站配置API。

Body參數(shù)
名稱(chēng) 類(lèi)型 必選 描述
RedirectAllRequestsTo
 
RedirectAllRequestsTo object

描述所有請(qǐng)求的重定向行為,如果這個(gè)節(jié)點(diǎn)出現(xiàn),所有其他的兄弟節(jié)點(diǎn)都不能出現(xiàn)。

IndexDocument
 
IndexDocument object

Suff元素。

ErrorDocument
 
ErrorDocument object

Key元素。

RoutingRules
 
RoutingRules object

Routing元素。

參數(shù):
RedirectAllRequestsTo
名稱(chēng) 類(lèi)型 必選 描述
HostName
 
string

描述重定向的站點(diǎn)名。

Protocol
 
string

描述重定向請(qǐng)求時(shí)使用的協(xié)議(http,https),默認(rèn)使用http協(xié)議。

參數(shù):
IndexDocument
名稱(chēng) 類(lèi)型 必選 描述
Suffix
 
string

Suffix元素被追加在對(duì)文件夾的請(qǐng)求的末尾(例如:Suffix配置的是“index.html”,請(qǐng)求的是“samplebucket/images/”,返回的數(shù)據(jù)將是“samplebucket”桶內(nèi)名為“images/index.html”的對(duì)象的內(nèi)容)。Suffix元素不能為空或者包含“/”字符。

參數(shù):
ErrorDocument
名稱(chēng) 類(lèi)型 必選 描述
Key
 
string

當(dāng)4XX錯(cuò)誤出現(xiàn)時(shí)使用的對(duì)象的名稱(chēng)。這個(gè)元素指定了當(dāng)錯(cuò)誤出現(xiàn)時(shí)返回的頁(yè)面。

參數(shù):
RoutingRules
名稱(chēng) 類(lèi)型 必選 描述
RoutingRule
 
RoutingRule object

重定向規(guī)則的元素。一條重定向規(guī)則包含一個(gè)Condition和一個(gè)Redirect,當(dāng)Condition匹配時(shí),Redirect生效。 元素中至少要有一個(gè)RoutingRule元素

參數(shù):
RoutingRules.RoutingRule
名稱(chēng) 類(lèi)型 必選 描述
Condition
 
Condition object

描述重定向規(guī)則匹配的條件的元素。

Redirect
 
Redirect object

重定向信息的元素??梢灾囟ㄏ虻搅硪粋€(gè)站點(diǎn)、另一個(gè)頁(yè)面或使用另一個(gè)協(xié)議。當(dāng)事件或錯(cuò)誤發(fā)生時(shí),可以指定不同的返回碼。

參數(shù):
RoutingRules.RoutingRule.Condition
名稱(chēng) 類(lèi)型 必選 描述
KeyPrefixEquals
 
string

描述當(dāng)重定向生效時(shí)對(duì)象名的前綴。

例如:

重定向ExamplePage.html對(duì)象的請(qǐng)求,KeyPrefixEquals設(shè)為ExamplePage.html。 類(lèi)型:字符串

父節(jié)點(diǎn):Condition

條件:父節(jié)點(diǎn)Condition存在,并且兄弟節(jié)點(diǎn)HttpErrorCodeReturnedEquals不存在。如果設(shè)定了兩個(gè)條件,只有都匹配時(shí),Redirect才生效。

HttpErrorCodeReturnedEquals
 
string

描述Redirect生效時(shí)的HTTP錯(cuò)誤碼。當(dāng)發(fā)生錯(cuò)誤時(shí),如果錯(cuò)誤碼等于這個(gè)值,那么Redirect生效。

例如:

當(dāng)返回的http錯(cuò)誤碼為404時(shí)重定向到NotFound.html,可以將Condition中的HttpErrorCodeReturnedEquals設(shè)置為404,Redirect中的ReplaceKeyWith設(shè)置為NotFound.html。 類(lèi)型:字符串

父節(jié)點(diǎn):Condition

條件:父節(jié)點(diǎn)Condition存在,并且兄弟節(jié)點(diǎn)KeyPrefixEquals不存在。如果設(shè)定了多個(gè)條件,需要同時(shí)匹配所有的條件,Redirect才可生效。

參數(shù):
RoutingRules.RoutingRule.Redirect
名稱(chēng) 類(lèi)型 必選 描述
Protocol
 
string

描述重定向請(qǐng)求時(shí)使用的協(xié)議。

類(lèi)型:字符串

父節(jié)點(diǎn):Redirect

可選值:http、https

條件:有其他兄弟節(jié)點(diǎn)存在時(shí)非必選

HostName
 
string

描述重定向請(qǐng)求時(shí)使用的站點(diǎn)名。

類(lèi)型:字符串

父節(jié)點(diǎn):Redirect

條件:有其他兄弟節(jié)點(diǎn)存在時(shí)非必選

ReplaceKeyPrefixWith
 
string

描述重定向請(qǐng)求時(shí)使用的對(duì)象名前綴。

例如:

想把所有對(duì)docs(目錄下的對(duì)象)的請(qǐng)求重定向到documents(目錄下的對(duì)象),可以將Condition中的KeyPrefixEquals設(shè)置為docs,Redirect中的ReplaceKeyPrefixWith設(shè)置為documents。 類(lèi)型:字符串

父節(jié)點(diǎn):Redirect

條件:有其他兄弟節(jié)點(diǎn)存在時(shí)非必選,不可與ReplaceKeyWith同時(shí)存在

ReplaceKeyWith
 
string

描述重定向請(qǐng)求時(shí)使用的對(duì)象名。例如:重定向請(qǐng)求到error.html。

類(lèi)型:字符串

父節(jié)點(diǎn):Redirect

條件:有其他兄弟節(jié)點(diǎn)存在時(shí)非必選,不可與ReplaceKeyPrefixWith同時(shí)存在

HttpRedirectCode
 
string

描述響應(yīng)中的HTTP狀態(tài)碼。

類(lèi)型:字符串

父節(jié)點(diǎn):Redirect

條件:有其他兄弟節(jié)點(diǎn)存在時(shí)非必選

返回參數(shù)
返回碼: 200

請(qǐng)求成功響應(yīng)消息。

名稱(chēng) 類(lèi)型 必選 描述
Content-Length
 
string

響應(yīng)消息體的字節(jié)長(zhǎng)度。

Connection
 
string

指明與服務(wù)器的連接是長(zhǎng)連接還是短連接。

Date
 
string

OBS系統(tǒng)響應(yīng)的時(shí)間。

ETag
 
string

對(duì)象的base64編碼的128位MD5摘要。ETag是對(duì)象內(nèi)容的唯一標(biāo)識(shí),可以通過(guò)該值識(shí)別對(duì)象內(nèi)容是否有變化。比如上傳對(duì)象時(shí)ETag為A,下載對(duì)象時(shí)ETag為B,則說(shuō)明對(duì)象內(nèi)容發(fā)生了變化。實(shí)際的ETag是對(duì)象的哈希值。ETag只反映變化的內(nèi)容,而不是其元數(shù)據(jù)。上傳的對(duì)象或拷貝操作創(chuàng)建的對(duì)象,通過(guò)MD5加密后都有唯一的ETag。如果通過(guò)多段上傳對(duì)象,則無(wú)論加密方法如何,MD5會(huì)拆分ETag,此類(lèi)情況ETag就不是MD5的摘要。

x-obs-id-2
 
string

幫助定位問(wèn)題的特殊符號(hào)。

x-obs-request-id
 
string

由OBS創(chuàng)建來(lái)唯一確定本次請(qǐng)求的值,可以通過(guò)該值來(lái)定位問(wèn)題。

返回碼: 400

請(qǐng)求失敗響應(yīng)消息。 除了公共的錯(cuò)誤碼外,此接口還會(huì)返回一些其他的錯(cuò)誤碼。下面列出本接口的一些常見(jiàn)錯(cuò)誤,以及可能原因。

錯(cuò)誤碼 描述 HTTP狀態(tài)碼
InvalidTagError 配置桶的網(wǎng)站配置時(shí),提供了無(wú)效的Tag。 400 Bad Request
MalformedXMLError 配置桶的網(wǎng)站配置時(shí),提供的xml格式錯(cuò)誤。 400 Bad Request
名稱(chēng) 類(lèi)型 必選 描述
Code
 
string

錯(cuò)誤響應(yīng)消息體XML中錯(cuò)誤響應(yīng)對(duì)應(yīng)的HTTP消息返回碼,具體的錯(cuò)誤碼請(qǐng)參見(jiàn)錯(cuò)誤碼-表2。

Message
 
string

錯(cuò)誤響應(yīng)消息體XML中具體錯(cuò)誤更全面、詳細(xì)的英文解釋,具體的錯(cuò)誤消息請(qǐng)參見(jiàn)錯(cuò)誤碼-表2。

RequestId
 
string

本次錯(cuò)誤請(qǐng)求的請(qǐng)求ID,用于錯(cuò)誤定位。

HostId
 
string

返回該消息的服務(wù)端ID。

Resource
 
string

該錯(cuò)誤相關(guān)的桶或?qū)ο筚Y源。

請(qǐng)求示例
示例 1
 
"/?website"
 
"PUT /?website HTTP/1.1\nUser-Agent: curl/7.29.0\nHost: examplebucket.obs.cn-north-4.myhuaweicloud.com\nAccept: */*\nDate: WED, 01 Jul 2015 03:40:29 GMT\nAuthorization: OBS H4IPJX0TQTHTHEBQQCEC:pUK7Yp0yebnq4P6gqzVjoS7whoM=\nContent-Length: 194\n\n<WebsiteConfiguration xmlns=\"http://obs.cn-north-4.myhuaweicloud.com/doc/2015-06-30/\">\n <RedirectAllRequestsTo>\n <HostName>m.cqfng.cn</HostName>\n </RedirectAllRequestsTo>\n</WebsiteConfiguration>\n"
錯(cuò)誤碼
請(qǐng)參考 錯(cuò)誤碼說(shuō)明。