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。
名稱(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。 |
名稱(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元素。 |
名稱(chēng) | 類(lèi)型 | 必選 | 描述 |
---|---|---|---|
HostName
|
string | 是 |
描述重定向的站點(diǎn)名。 |
Protocol
|
string | 否 |
描述重定向請(qǐng)求時(shí)使用的協(xié)議(http,https),默認(rèn)使用http協(xié)議。 |
名稱(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元素不能為空或者包含“/”字符。 |
名稱(chēng) | 類(lèi)型 | 必選 | 描述 |
---|---|---|---|
Key
|
string | 否 |
當(dāng)4XX錯(cuò)誤出現(xiàn)時(shí)使用的對(duì)象的名稱(chēng)。這個(gè)元素指定了當(dāng)錯(cuò)誤出現(xiàn)時(shí)返回的頁(yè)面。 |
名稱(chēng) | 類(lèi)型 | 必選 | 描述 |
---|---|---|---|
RoutingRule
|
RoutingRule object | 是 |
重定向規(guī)則的元素。一條重定向規(guī)則包含一個(gè)Condition和一個(gè)Redirect,當(dāng)Condition匹配時(shí),Redirect生效。 元素中至少要有一個(gè)RoutingRule元素 |
名稱(chēng) | 類(lèi)型 | 必選 | 描述 |
---|---|---|---|
Condition
|
Condition object | 否 |
描述重定向規(guī)則匹配的條件的元素。 |
Redirect
|
Redirect object | 是 |
重定向信息的元素??梢灾囟ㄏ虻搅硪粋€(gè)站點(diǎn)、另一個(gè)頁(yè)面或使用另一個(gè)協(xié)議。當(dāng)事件或錯(cuò)誤發(fā)生時(shí),可以指定不同的返回碼。 |
名稱(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才可生效。 |
名稱(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í)非必選 |
請(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)題。 |
請(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源。 |