Anda dapat menggunakan fitur hosting situs web statis untuk meng-hosting situs web statis di dalam bucket Object Storage Service (OSS) dan mengaksesnya melalui titik akhir bucket tersebut. Setelah mengonfigurasi hosting situs web statis, Anda dapat menambahkan aturan kembali ke asal untuk memastikan pengguna tetap mendapatkan data yang diminta meskipun data tidak tersedia di OSS. Topik ini menjelaskan cara menggunakan perintah website untuk menambah, memodifikasi, menanyakan, atau menghapus konfigurasi hosting situs web statis dan aturan kembali ke asal.
Catatan penggunaan
Untuk menambah atau memodifikasi konfigurasi terkait situs web pada sebuah bucket, Anda memerlukan izin
oss:PutBucketWebsite. Untuk menanyakan konfigurasi tersebut, Anda memerlukan izinoss:GetBucketWebsite, dan untuk menghapusnya, Anda memerlukan izinoss:DeleteBucketWebsite. Informasi lebih lanjut dapat ditemukan di Lampirkan Kebijakan Kustom ke Pengguna RAM.Mulai versi ossutil 1.6.16, Anda dapat menggunakan nama biner langsung tanpa memperbarui berdasarkan sistem operasi. Untuk versi sebelumnya, pembaruan nama biner diperlukan. Informasi lebih lanjut dapat ditemukan di Referensi Perintah ossutil.
Setelah mengonfigurasi hosting situs web statis, kesalahan 404 akan dikembalikan jika data yang diminta tidak tersedia di OSS. Namun, jika aturan kembali ke asal dengan asal valid telah dikonfigurasi, pengguna dapat memperoleh data sesuai aturan tersebut.
Informasi lebih lanjut tentang hosting situs web statis dapat ditemukan di Ikhtisar.
Informasi lebih lanjut tentang kembali ke asal dapat ditemukan di Kembali ke Asal.
Tambahkan konfigurasi terkait situs web ke atau modifikasi konfigurasi terkait situs web dari sebuah bucket
Jika bucket belum memiliki konfigurasi terkait situs web, konfigurasi baru akan ditambahkan saat Anda menjalankan perintah website. Jika sudah ada konfigurasi, konfigurasi baru akan menimpa yang lama.
Untuk menambah atau memodifikasi konfigurasi terkait situs web, ikuti langkah-langkah berikut:
Buat file lokal dan tambahkan konfigurasi terkait situs web ke file tersebut.
Tambahkan konfigurasi terkait situs web ke bucket tujuan.
Sintaksis Perintah dan Contoh
Sintaksis Perintah
ossutil website --method put oss://namabucket file_xml_lokalTabel berikut menjelaskan parameter dalam perintah di atas.
Parameter
Deskripsi
namabucket
Nama bucket tempat Anda ingin menambahkan konfigurasi terkait situs web atau memodifikasi konfigurasi terkait situs web.
file_xml_lokal
Nama file lokal yang ingin Anda gunakan untuk mengonfigurasi aturan situs web. Contoh:
localfile.xml.Contoh
Buat file lokal bernama
localfile.xmldan tambahkan konfigurasi aturan situs web ke file tersebut.Kode sampel berikut menunjukkan cara menambahkan konfigurasi lengkap terkait situs web, termasuk hosting situs web statis dan konfigurasi kembali ke asal. Anda dapat menambahkan hanya salah satu konfigurasi sesuai kebutuhan.
Konfigurasi Hosting Situs Web Statis
Dalam contoh berikut, bidang <IndexDocument> menentukan bahwa halaman utama default adalah
index.html. Bidang <ErrorDocument> menentukan bahwa halaman 404 default adalaherror.html.Konfigurasi Kembali ke Asal
Dalam contoh berikut, bidang <RoutingRules> menentukan aturan kembali ke asal. Informasi lebih lanjut tentang parameter yang dapat dikonfigurasikan dapat ditemukan di Ikhtisar.
<?xml version="1.0" encoding="UTF-8"?> <WebsiteConfiguration> <IndexDocument> <Suffix>index.html</Suffix> </IndexDocument> <ErrorDocument> <Key>error.html</Key> </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> <KeyPrefixEquals>abc/</KeyPrefixEquals> <HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals> <IncludeHeader> <Key>host</Key> <Equals>test.oss-cn-beijing-internal.aliyuncs.com</Equals> </IncludeHeader> </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>Jalankan perintah berikut untuk menambahkan konfigurasi terkait situs web ke bucket bernama examplebucket:
ossutil website --method put oss://examplebucket localfile.xmlJika output serupa ditampilkan, konfigurasi terkait situs web telah berhasil ditambahkan ke examplebucket:
0.299514(s) elapsed
Menanyakan konfigurasi terkait situs web
Sintaksis Perintah
ossutil website --method get oss://namabucket [file_xml_lokal]Tabel berikut menjelaskan parameter dalam perintah di atas.
Parameter
Deskripsi
namabucket
Nama bucket yang ingin Anda tanyakan konfigurasi terkait situs webnya.
file_xml_lokal
Nama file lokal tempat konfigurasi terkait situs web disimpan. Contoh:
localfile.xml. Jika parameter ini tidak ditentukan, konfigurasi terkait situs web yang ditanyakan akan ditampilkan.Contoh
Jalankan perintah berikut untuk menanyakan konfigurasi terkait situs web dari bucket examplebucket dan simpan hasilnya dalam file lokal
localfile.xml:ossutil website --method get oss://examplebucket localfile.xmlJika output serupa ditampilkan, konfigurasi terkait situs web dari examplebucket telah berhasil disimpan dalam localfile.xml:
0.212407(s) elapsedJalankan perintah berikut untuk menanyakan konfigurasi terkait situs web dari bucket examplebucket dan tampilkan hasilnya:
ossutil website --method get oss://examplebucketJika output serupa ditampilkan, konfigurasi terkait situs web dari examplebucket telah berhasil ditanyakan:
<?xml version="1.0" encoding="UTF-8"?> <WebsiteConfiguration> <IndexDocument> <Suffix>index.html</Suffix> <SupportSubDir>false</SupportSubDir> <Type>0</Type> </IndexDocument> <ErrorDocument> <Key>error.html</Key> </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> <MirrorPassOriginalSlashes>false</MirrorPassOriginalSlashes> <MirrorFollowRedirect>true</MirrorFollowRedirect> <MirrorIsExpressTunnel>false</MirrorIsExpressTunnel> <MirrorUserLastModified>false</MirrorUserLastModified> <MirrorCheckMd5>false</MirrorCheckMd5> <MirrorSwitchAllErrors>false</MirrorSwitchAllErrors> <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> <MirrorUsingRole>false</MirrorUsingRole> <MirrorAllowHeadObject>false</MirrorAllowHeadObject> <EnableReplacePrefix>false</EnableReplacePrefix> </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> <EnableReplacePrefix>false</EnableReplacePrefix> <HttpRedirectCode>301</HttpRedirectCode> </Redirect> </RoutingRule> </RoutingRules> </WebsiteConfiguration> 0.157648(s) elapsed
Hapus konfigurasi terkait situs web
Sintaksis Perintah
ossutil website --method delete oss://namabucketContoh
Jalankan perintah berikut untuk menghapus konfigurasi terkait situs web dari bucket bernama examplebucket:
ossutil website --method delete oss://examplebucketJika output serupa ditampilkan, konfigurasi terkait situs web dari bucket telah berhasil dihapus:
0.212409(s) elapsed
Opsi umum
Jika Anda menggunakan ossutil untuk beralih ke bucket di wilayah lain, tambahkan opsi -e untuk menentukan titik akhir wilayah tersebut. Jika Anda beralih ke bucket milik akun Alibaba Cloud lain, tambahkan opsi -i untuk menentukan ID AccessKey dan opsi -k untuk menentukan Rahasia AccessKey dari akun tersebut.
Sebagai contoh, jalankan perintah berikut untuk menambahkan konfigurasi terkait situs web ke bucket bernama testbucket di wilayah Tiongkok (Hangzhou) yang dimiliki oleh akun Alibaba Cloud lain:
ossutil website --method put oss://testbucket localfile.xml -e oss-cn-hangzhou.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecretInformasi lebih lanjut tentang opsi umum dapat ditemukan di Opsi Umum.