Memeriksa status hosting situs web statis dan aturan pengalihan yang dikonfigurasi untuk sebuah bucket.
Catatan
Izin oss:GetBucketWebsite diperlukan untuk memanggil operasi GetBucketWebsite guna memeriksa status hosting situs web statis dan aturan pengalihan yang dikonfigurasi untuk sebuah bucket. Untuk informasi lebih lanjut, lihat Lampirkan kebijakan kustom ke pengguna RAM.
Struktur permintaan
GET /?website HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValueHeader permintaan
Permintaan GetBucketWebsite hanya mencakup header permintaan umum. Untuk informasi lebih lanjut, lihat Header Permintaan Umum.
Header respons
Respons terhadap permintaan GetBucketWebsite hanya mencakup header respons umum. Untuk informasi lebih lanjut, lihat Header Respons Umum.
Elemen respons
Tabel berikut menjelaskan elemen WebsiteConfiguration dalam respons terhadap permintaan GetBucketWebsite.
Elemen
Tipe
Contoh
Deskripsi
WebsiteConfiguration
Container
N/A
Node root.
Node induk: tidak ada
Tabel berikut menjelaskan elemen IndexDocument dalam respons terhadap permintaan GetBucketWebsite.
Elemen
Tipe
Contoh
Deskripsi
IndexDocument
Container
N/A
Container yang digunakan untuk menyimpan halaman utama default.
Node induk: WebsiteConfiguration
Suffix
String
index.html
Halaman utama default.
Node induk: IndexDocument
Tabel berikut menjelaskan elemen ErrorDocument dalam respons terhadap permintaan GetBucketWebsite.
Elemen
Tipe
Contoh
Deskripsi
ErrorDocument
Container
N/A
Container yang digunakan untuk menyimpan halaman kesalahan.
Node induk: WebsiteConfiguration
Key
String
error.html
Halaman kesalahan.
Node induk: ErrorDocument
HttpStatus
String
404
Kode status HTTP yang dikembalikan bersama dengan halaman kesalahan.
Node induk: ErrorDocument
Tabel berikut menjelaskan elemen RoutingRules, RoutingRule, dan RuleNumber dalam respons terhadap permintaan GetBucketWebsite.
Elemen
Tipe
Contoh
Deskripsi
RoutingRules
Container
N/A
Container yang digunakan untuk menyimpan RoutingRule.
Node induk: WebsiteConfiguration
RoutingRule
Container
N/A
Aturan pengalihan atau aturan pengembalian ke sumber berbasis mirroring.
Node induk: RoutingRules
RuleNumber
Bilangan bulat positif
1
Nomor urutan yang digunakan untuk mencocokkan dan menjalankan aturan pengalihan atau aturan pengembalian ke sumber berbasis mirroring.
Aturan pengalihan dicocokkan berdasarkan elemen ini. Jika pencocokan berhasil, hanya aturan tersebut yang dijalankan dan aturan berikutnya tidak dijalankan.
Node induk: RoutingRule
Tabel berikut menjelaskan elemen RoutingRules, RoutingRule, dan Condition dalam respons terhadap permintaan GetBucketWebsite.
Elemen
Tipe
Contoh
Deskripsi
Condition
Container
N/A
Kondisi pencocokan. Aturan hanya dijalankan ketika semua kondisi yang ditentukan terpenuhi.
Node induk: RoutingRule
KeyPrefixEquals
String
abc
Prefiks nama objek. Hanya objek yang namanya mengandung prefiks tertentu yang cocok dengan aturan.
Node induk: Condition
HttpErrorCodeReturnedEquals
Kode status HTTP
404
Kode status HTTP yang dikembalikan. Aturan hanya cocok ketika objek yang ditentukan diakses dan kode status yang ditentukan dikembalikan. Jika aturan pengalihan adalah aturan pengembalian ke sumber berbasis mirroring, nilai dari elemen ini adalah 404.
Node induk: Condition
IncludeHeader
Container
N/A
Header yang ditentukan dalam permintaan. Aturan hanya cocok ketika header yang ditentukan termasuk dalam permintaan dan nilai headernya sama dengan nilai yang ditentukan. Maksimal lima container IncludeHeader dapat ditentukan.
Node induk: IncludeHeader
Key
String
host
Kunci dari header. Aturan hanya cocok ketika header yang ditentukan termasuk dalam permintaan dan nilai headernya sama dengan nilai yang ditentukan oleh Equals.
Node induk: IncludeHeader
Equals
String
test.oss-cn-beijing-internal.aliyuncs.com
Nilai dari header. Aturan hanya cocok ketika header yang ditentukan oleh Key termasuk dalam permintaan dan nilai headernya sama dengan nilai yang ditentukan.
Node induk: IncludeHeader
Tabel berikut menjelaskan elemen RoutingRules, RoutingRule, dan Redirect dalam respons terhadap permintaan GetBucketWebsite.
Elemen
Tipe
Contoh
Deskripsi
Redirect
Container
N/A
Operasi yang dilakukan setelah aturan cocok.
Node induk: RoutingRule
RedirectType
String
Mirror
Jenis pengalihan.
Mirror: pengembalian ke sumber berbasis mirroring.
External: pengalihan eksternal. Object Storage Service (OSS) mengembalikan kode redirect HTTP 3xx dan header Lokasi untuk Anda mengarahkan akses ke alamat IP lain.
AliCDN: pengalihan berdasarkan Alibaba Cloud Content Delivery Network (CDN). OSS menambahkan header tambahan ke permintaan, yang berbeda dari tipe External. Setelah CDN mengidentifikasi header, CDN mengarahkan akses ke alamat IP yang ditentukan dan mengembalikan data yang diperoleh bukan permintaan redirect ke pengguna.
Node induk: Redirect
PassQueryString
Boolean
false
Menunjukkan apakah parameter permintaan dari permintaan asli disertakan dalam permintaan redirect ketika sistem menjalankan aturan pengalihan atau aturan pengembalian ke sumber berbasis mirroring.
Jika parameter PassQueryString disetel ke true dan "?a=b&c=d" disertakan dalam permintaan yang dikirim ke OSS, parameter ini ditambahkan ke header Lokasi ketika mode pengalihan adalah 302. Misalnya, jika permintaan berisi "Location: www.example.com?a=b&c=d" dan nilai RedirectType adalah Mirror, parameter a=b&c=d disertakan dalam permintaan balik ke sumber.
Nilai default: false
Node induk: Redirect
MirrorURL
String
http://example.com
URL asal untuk pengembalian ke sumber berbasis mirroring. Elemen ini berlaku hanya ketika nilai RedirectType adalah Mirror.
URL asal harus dimulai dengan http:// atau https:// dan diakhiri dengan garis miring (/). OSS menambahkan nama objek ke akhir URL untuk menghasilkan URL balik ke sumber.
Misalnya, nama objek yang akan diakses adalah myobject. Jika MirrorURL disetel ke
http://example.com/, URL balik ke sumber adalahhttp://example.com/myobject. Jika MirrorURL disetel kehttp://example.com/dir1/, URL balik ke sumber adalahhttp://example.com/dir1/myobject.Node induk: Redirect
MirrorPassQueryString
Boolean
false
Elemen ini berperan sama seperti PassQueryString dan memiliki prioritas lebih tinggi daripada PassQueryString. Elemen ini berlaku hanya ketika nilai RedirectType adalah Mirror.
Nilai default: false
Node induk: Redirect
MirrorFollowRedirect
Boolean
true
Menunjukkan apakah akses dialihkan ke alamat yang ditentukan oleh Lokasi jika asal mengembalikan kode status HTTP 3xx. Elemen ini berlaku hanya ketika nilai RedirectType adalah Mirror.
Misalnya, ketika permintaan pengembalian ke sumber berbasis mirroring diinisiasi, asal mengembalikan 302 dan Lokasi ditentukan.
true: OSS melanjutkan permintaan ke alamat yang ditentukan oleh Lokasi.
Akses dapat dialihkan hingga 10 kali. Setelah 10 kali, pesan kesalahan dikembalikan.
false: OSS mengembalikan 302 dan melewati Lokasi.
Nilai default: true
Node induk: Redirect
MirrorCheckMd5
Boolean
false
Menunjukkan apakah OSS memeriksa hash MD5 dari body respons yang dikembalikan oleh asal. Elemen ini berlaku hanya ketika nilai RedirectType adalah Mirror.
Ketika nilai parameter ini adalah true dan respons yang dikembalikan oleh asal mencakup header Content-Md5, OSS memeriksa apakah hash MD5 dari data yang diperoleh sesuai dengan nilai header. Jika hash MD5 dari data yang diperoleh tidak sesuai dengan nilai header, OSS tidak menyimpan data.
Nilai default: false
Node induk: Redirect
MirrorHeaders
Container
N/A
Header yang disertakan ketika aturan pengembalian ke sumber berbasis mirroring ditentukan untuk bucket. Elemen ini berlaku hanya ketika nilai RedirectType adalah Mirror.
Node induk: Redirect
PassAll
Boolean
true
Menunjukkan apakah OSS melewatkan semua header permintaan ke asal. Header permintaan tidak termasuk header cadangan dan header yang dimulai dengan
oss-, x-oss-, and x-drs-. Elemen ini berlaku hanya ketika nilai RedirectType adalah Mirror.Nilai default: false
Node induk: MirrorHeaders
Pass
String
myheader-key1
Header yang dilewatkan ke asal. Elemen ini berlaku hanya ketika nilai RedirectType adalah Mirror.
Header dapat memiliki panjang hingga 1.024 byte dan hanya dapat berisi huruf, angka, dan tanda hubung (-).
Anda dapat menentukan hingga 10 header Pass.
Node induk: MirrorHeaders
Remove
String
myheader-key3
Header yang tidak diizinkan untuk dilewatkan ke asal. Maksimal 10 header Remove dapat ditentukan. Elemen ini digunakan bersama dengan PassAll. Header dapat memiliki panjang hingga 1.024 byte. Set karakter parameter ini sama dengan Pass. Elemen ini berlaku hanya ketika nilai RedirectType adalah Mirror.
Node induk: MirrorHeaders
Set
Container
N/A
Menunjukkan header yang dikirim ke asal. Header yang ditentukan dikonfigurasi dalam data yang dikembalikan oleh asal terlepas dari apakah header tersebut terdapat dalam permintaan. Maksimal 10 container Set dapat ditentukan. Elemen ini berlaku hanya ketika nilai RedirectType adalah Mirror.
Node induk: MirrorHeaders
Key
String
myheader-key5
Kunci dari header. Kunci dapat memiliki panjang hingga 1.024 byte. Set karakter parameter ini sama dengan Pass. Elemen ini berlaku hanya ketika nilai RedirectType adalah Mirror.
Node induk: Set
Value
String
myheader-value5
Nilai dari header. Nilai dapat memiliki panjang hingga 1.024 byte dan tidak boleh mengandung "\r\n". Elemen ini berlaku hanya ketika nilai RedirectType adalah Mirror.
Node induk: Set
Protocol
String
http
Protokol yang digunakan untuk mengarahkan akses. Elemen ini berlaku hanya ketika nilai RedirectType adalah External atau AliCDN.
Misalnya, jika Anda mengakses objek bernama test, Protocol disetel ke https, dan Hostname disetel ke
example.com, nilai header Lokasi adalahhttps://example.com/test.Nilai valid: http dan https.
Node induk: Redirect
HostName
String
example.com
Nama domain yang digunakan untuk pengalihan, yang harus mematuhi konvensi penamaan untuk nama domain. Elemen ini berlaku hanya ketika nilai RedirectType adalah External atau AliCDN.
Misalnya, jika Anda mengakses objek bernama test, Protocol disetel ke https, dan Hostname disetel ke
example.com, header Lokasi adalahhttps://www.example.com/test.Node induk: Redirect
HttpRedirectCode
Kode status HTTP
301
Kode redirect HTTP dalam respons. Elemen ini berlaku hanya ketika nilai RedirectType adalah External atau AliCDN.
Nilai valid: 301, 302, dan 307
Node induk: Redirect
ReplaceKeyPrefixWith
String
def/
String yang digunakan untuk mengganti prefiks nama objek dalam permintaan redirect. Elemen ini berlaku hanya ketika nilai RedirectType adalah External atau AliCDN.
Misalnya, jika Anda mengakses objek bernama
abc/test.txtdan ReplaceKeyPrefixWith disetel kedef/, nilai header Lokasi bervariasi berdasarkan apakah nilai KeyPrefixEquals kosong.Jika nilai KeyPrefixEquals disetel ke
abc/, nilai header Lokasi adalahhttp://example.com/def/test.txt.Jika KeyPrefixEquals kosong, nilai header Lokasi adalah
http://example.com/def/abc/test.txt.
Node induk: Redirect
ReplaceKeyWith
String
prefix/${key}.suffix
String yang digunakan untuk mengganti nama objek dalam permintaan redirect. Elemen ini berlaku hanya ketika nilai RedirectType adalah External atau AliCDN.
Elemen ini mendukung variabel ${key}, yang menunjukkan nama objek dalam permintaan. Misalnya, jika Anda mengakses objek bernama test dan ReplaceKeyWith disetel ke
prefix/${key}.suffix, nilai header Lokasi adalahhttp://example.com/prefix/test.suffix.Node induk: Redirect
Contoh
Contoh Permintaan
Get /?website HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Thu, 13 Sep 2012 07:51:28 GMT
Authorization: OSS qn6q**************:77Dv**************** Contoh Respons
Contoh respons ketika aturan hosting situs web statis dikonfigurasi
HTTP/1.1 200 x-oss-request-id: 534B371674E88A4D8906008B Date: Thu, 13 Sep 2012 07:51:28 GMT Connection: keep-alive Content-Length: 218 Server: AliyunOSS <?xml version="1.0" encoding="UTF-8"?> <WebsiteConfiguration xmlns="http://doc.oss-cn-hangzhou.aliyuncs.com"> <IndexDocument> <Suffix>index.html</Suffix> </IndexDocument> <ErrorDocument> <Key>error.html</Key> <HttpStatus>404</HttpStatus> </ErrorDocument> </WebsiteConfiguration>Contoh respons ketika aturan hosting situs web statis tidak dikonfigurasi
HTTP/1.1 404 x-oss-request-id: 534B371674E88A4D8906008B Date: Thu, 13 Sep 2012 07:56:46 GMT Connection: keep-alive Content-Length: 308 Server: AliyunOSS <?xml version="1.0" encoding="UTF-8"?> <Error xmlns="http://doc.oss-cn-hangzhou.aliyuncs.com"> <Code>NoSuchWebsiteConfiguration</Code> <Message>The specified bucket does not have a website configuration.</Message> <BucketName>oss-example</BucketName> <RequestId>505191BEC4689A033D00236F</RequestId> <HostId>oss-example.oss-cn-hangzhou.aliyuncs.com</HostId> </Error>
Contoh Respons Lengkap
GET /?website HTTP/1.1
Date: Fri, 27 Jul 2018 09:07:41 GMT
Host: test.oss-cn-hangzhou-internal.aliyuncs.com
Authorization: OSS qn6q**************:77Dv****************
User-Agent: aliyun-sdk-python-test/0.4.0
<?xml version="1.0" encoding="UTF-8"?>
<WebsiteConfiguration>
<IndexDocument>
<Suffix>index.html</Suffix>
</IndexDocument>
<ErrorDocument>
<Key>error.html</Key>
<HttpStatus>404</HttpStatus>
</ErrorDocument>
<RoutingRules>
<RoutingRule>
<RuleNumber>1</RuleNumber>
<Condition>
<KeyPrefixEquals>abc/</KeyPrefixEquals>
<HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals>
</Condition>
<Redirect>
<RedirectType>Mirror</RedirectType>
<PassQueryString>true</PassQueryString>
<MirrorURL>http://example.com/</MirrorURL>
<MirrorPassQueryString>true</MirrorPassQueryString>
<MirrorFollowRedirect>true</MirrorFollowRedirect>
<MirrorCheckMd5>false</MirrorCheckMd5>
<MirrorHeaders>
<PassAll>true</PassAll>
<Pass>myheader-key1</Pass>
<Pass>myheader-key2</Pass>
<Remove>myheader-key3</Remove>
<Remove>myheader-key4</Remove>
<Set>
<Key>myheader-key5</Key>
<Value>myheader-value5</Value>
</Set>
</MirrorHeaders>
</Redirect>
</RoutingRule>
<RoutingRule>
<RuleNumber>2</RuleNumber>
<Condition>
<IncludeHeader>
<Key>host</Key>
<Equals>test.oss-cn-beijing-internal.aliyuncs.com</Equals>
</IncludeHeader>
<KeyPrefixEquals>abc/</KeyPrefixEquals>
<HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals>
</Condition>
<Redirect>
<RedirectType>AliCDN</RedirectType>
<Protocol>http</Protocol>
<HostName>example.com</HostName>
<PassQueryString>false</PassQueryString>
<ReplaceKeyWith>prefix/${key}.suffix</ReplaceKeyWith>
<HttpRedirectCode>301</HttpRedirectCode>
</Redirect>
</RoutingRule>
</RoutingRules>
</WebsiteConfiguration>
HTTP/1.1 200 OK
Server: AliyunOSS
Date: Fri, 27 Jul 2018 09:07:41 GMT
Content-Type: application/xml
Content-Length: 2102
Connection: keep-alive
x-oss-request-id: 5B5AE0DD2F7938C45FCED4BA
x-oss-server-time: 47OSS SDKs
Anda dapat menggunakan OSS SDK untuk bahasa pemrograman berikut guna memanggil operasi GetBucketWebsite:
ossutil
Untuk informasi tentang perintah ossutil yang sesuai dengan operasi GetBucketWebsite, lihat get-bucket-website.
Kode kesalahan
Kode kesalahan | Kode status HTTP | Deskripsi |
NoSuchBucket | 404 | Pesan kesalahan yang dikembalikan karena tidak ada bucket yang ditemukan. |
AccessDenied | 403 | Pesan kesalahan yang dikembalikan karena Anda tidak berwenang untuk melakukan operasi ini. Hanya pemilik bucket yang dapat memeriksa konfigurasi status hosting situs web statis sebuah bucket. |
NoSuchWebsiteConfiguration | 404 | Pesan kesalahan yang dikembalikan karena hosting situs web statis tidak dikonfigurasi untuk bucket yang ditentukan. |