全部产品
Search
文档中心

Object Storage Service:Konfigurasi situs web

更新时间:Jul 06, 2025

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 izin oss:GetBucketWebsite, dan untuk menghapusnya, Anda memerlukan izin oss: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:

  1. Buat file lokal dan tambahkan konfigurasi terkait situs web ke file tersebut.

  2. Tambahkan konfigurasi terkait situs web ke bucket tujuan.

Sintaksis Perintah dan Contoh

  • Sintaksis Perintah

    ossutil website --method put oss://namabucket file_xml_lokal

    Tabel 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

    1. Buat file lokal bernama localfile.xml dan 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 adalah error.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>
    2. Jalankan perintah berikut untuk menambahkan konfigurasi terkait situs web ke bucket bernama examplebucket:

      ossutil website --method put oss://examplebucket localfile.xml

      Jika 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.xml

      Jika output serupa ditampilkan, konfigurasi terkait situs web dari examplebucket telah berhasil disimpan dalam localfile.xml:

      0.212407(s) elapsed
    • Jalankan perintah berikut untuk menanyakan konfigurasi terkait situs web dari bucket examplebucket dan tampilkan hasilnya:

      ossutil website --method get oss://examplebucket

      Jika 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://namabucket
  • Contoh

    Jalankan perintah berikut untuk menghapus konfigurasi terkait situs web dari bucket bernama examplebucket:

    ossutil website --method delete oss://examplebucket

    Jika 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 yourAccessKeySecret

Informasi lebih lanjut tentang opsi umum dapat ditemukan di Opsi Umum.