(Opsional) Mengonfigurasi pengalihan halaman web - Amazon Simple Storage Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

(Opsional) Mengonfigurasi pengalihan halaman web

Jika bucket Amazon S3 Anda dikonfigurasi untuk hosting situs web statis, Anda dapat mengonfigurasi pengalihan untuk bucket atau objek Anda di dalamnya. Anda memiliki opsi berikut untuk mengonfigurasikan pengalihan.

Permintaan pengalihan untuk titik akhir situs web bucket Anda ke bucket atau domain lain

Anda dapat mengalihkan semua permintaan ke sebuah titik akhir situs web untuk sebuah bucket ke bucket atau domain yang lain. Jika Anda mengalihkan semua permintaan, permintaan apapun yang dibuat ke titik akhir situs web dialihkan ke bucket atau domain tertentu.

Misalnya, jika domain root Anda adalah example.com, dan Anda ingin melayani permintaan untuk keduanya http://example.com dan http://www.example.com, Anda harus membuat dua bucket bernama example.com dan www.example.com. Kemudian, pertahankan konten di bucket example.com, dan konfigurasikan bucket www.example.com lainnya untuk mengalihkan semua permintaan ke bucket example.com. Untuk informasi selengkapnya, lihat Mengonfigurasi Situs Web Statis Menggunakan Nama Domain Khusus.

Untuk mengalihkan permintaan titik akhir situs web bucket
  1. Buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.

  2. Di Bawah Bucket, pilih nama bucket tempat Anda ingin mengalihkan permintaan (misalnya, www.example.com).

  3. Pilih Properti.

  4. Di bagian bawah Hosting situs web statis, pilih Edit.

  5. Pilih Alihkan permintaan objek.

  6. Di kotak Nama host, masukkan titik akhir situs web untuk bucket atau domain khusus Anda.

    Misalnya, jika Anda mengalihkan ke alamat domain root, Anda akan memasukkan example.com.

  7. Untuk Protokol, pilih protokol untuk permintaan pengalihan (tidak ada,http, atau https).

    Jika Anda tidak menentukan protokol, opsi default adalah tidak ada.

  8. Pilih Simpan perubahan.

Konfigurasikan aturan pengalihan untuk menggunakan pengalihan bersyarat lanjutan

Menggunakan aturan pengalihan lanjutan, Anda dapat mengirimkan permintaan secara bersyarat sesuai dengan nama kunci, prefiks tertentu dalam permintaan, atau kode tanggapan. Misalnya, bayangkan bahwa Anda menghapus atau mengganti nama sebuah objek di dalam bucket Anda. Anda dapat menambahkan aturan perutean yang mengarahkan permintaan ke objek lain. Jika Anda ingin membuat folder menjadi tidak tersedia, Anda dapat menambahkan aturan perutean untuk mengalihkan permintaan ke halaman web lain. Anda juga dapat menambahkan aturan perutean untuk menangani kondisi kesalahan dengan mengirimkan permintaan yang mengembalikan kesalahan ke domain lain saat kesalahan diproses.

Saat mengaktifkan hosting situs web statis untuk bucket Anda, Anda dapat menentukan aturan pengalihan lanjutan secara opsional. Amazon S3 memiliki batasan 50 aturan perutean per konfigurasi situs web. Jika Anda memerlukan lebih dari 50 aturan perutean, Anda dapat menggunakan pengalihan objek. Untuk informasi selengkapnya, lihat Menggunakan konsol S3.

Untuk informasi selengkapnya tentang mengonfigurasi aturan perutean menggunakan REST API, lihat PutBucketWebsitedi Referensi API Amazon Simple Storage Service.

penting

Untuk membuat aturan pengalihan di konsol Amazon S3, Anda harus menggunakan JSON. Untuk contoh JSON, lihat Contoh aturan pengalihan.

Untuk mengonfigurasi aturan pengalihan situs web statis

Untuk menambahkan aturan pengalihan ke bucket yang telah mengaktifkan hosting situs web statis, ikuti langkah-langkah ini.

  1. Buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.

  2. Di daftar Bucket, pilih nama bucket yang telah Anda konfigurasikan sebagai situs web statis.

  3. Pilih Properti.

  4. Di bagian bawah Hosting situs web statis, pilih Edit.

  5. Di kotak Aturan pengalihan, masukkan aturan pengalihan Anda di JSON.

    Pada konsol S3 Anda mendeskripsikan aturan menggunakan JSON. Untuk contoh JSON, lihat Contoh aturan pengalihan. Amazon S3 memiliki batasan 50 aturan perutean per konfigurasi situs web.

  6. Pilih Simpan perubahan.

Elemen aturan perutean

Berikut ini adalah sintaks umum untuk menentukan aturan perutean dalam konfigurasi situs web di JSON dan XML Untuk mengonfigurasi aturan pengalihan di konsol S3 yang baru, Anda harus menggunakan JSON. Untuk contoh JSON, lihat Contoh aturan pengalihan.

JSON
[ { "Condition": { "HttpErrorCodeReturnedEquals": "string", "KeyPrefixEquals": "string" }, "Redirect": { "HostName": "string", "HttpRedirectCode": "string", "Protocol": "http"|"https", "ReplaceKeyPrefixWith": "string", "ReplaceKeyWith": "string" } } ] Note: Redirect must each have at least one child element. You can have either ReplaceKeyPrefix with or ReplaceKeyWith but not both.
XML
<RoutingRules> = <RoutingRules> <RoutingRule>...</RoutingRule> [<RoutingRule>...</RoutingRule> ...] </RoutingRules> <RoutingRule> = <RoutingRule> [ <Condition>...</Condition> ] <Redirect>...</Redirect> </RoutingRule> <Condition> = <Condition> [ <KeyPrefixEquals>...</KeyPrefixEquals> ] [ <HttpErrorCodeReturnedEquals>...</HttpErrorCodeReturnedEquals> ] </Condition> Note: <Condition> must have at least one child element. <Redirect> = <Redirect> [ <HostName>...</HostName> ] [ <Protocol>...</Protocol> ] [ <ReplaceKeyPrefixWith>...</ReplaceKeyPrefixWith> ] [ <ReplaceKeyWith>...</ReplaceKeyWith> ] [ <HttpRedirectCode>...</HttpRedirectCode> ] </Redirect> Note: <Redirect> must have at least one child element. You can have either ReplaceKeyPrefix with or ReplaceKeyWith but not both.

Tabel berikut menjelaskan elemen-elemen dalam aturan perutean.

Nama Deskripsi
RoutingRules Kontainer untuk pengumpulan RoutingRule yang berbeda.
RoutingRule

Aturan yang mengidentifikasi kondisi dan pengalihan yang diterapkan saat kondisi terpenuhi.

Ketentuan:

  • Kontainer RoutingRules harus memuat setidaknya satu aturan perutean.

Condition

Kontainer untuk menjelaskan kondisi yang harus dipenuhi untuk pengalihan yang ditentukan untuk diterapkan. Jika aturan perutean tidak mencakup syarat, aturan diterapkan ke semua permintaan.

KeyPrefixEquals

Prefiks nama kunci objek yang menjadi tujuan pengalihan permintaan.

KeyPrefixEquals diperlukan jika HttpErrorCodeReturnedEquals tidak ditentukan. Jika KeyPrefixEquals dan HttpErrorCodeReturnedEquals ditentukan, keduanya harus bernilai benar agar syarat dapat dipenuhi.

HttpErrorCodeReturnedEquals

Kode kesalahan HTTP yang harus cocok agar pengalihan dapat diterapkan. Jika terjadi kesalahan, dan jika kode kesalahan memenuhi nilai ini, maka pengalihan yang ditentukan berlaku.

HttpErrorCodeReturnedEquals diperlukan jika KeyPrefixEquals tidak ditentukan. Jika KeyPrefixEquals dan HttpErrorCodeReturnedEquals ditentukan, keduanya harus bernilai benar agar syarat dapat dipenuhi.

Redirect

Elemen kontainer yang memberikan instruksi untuk mengalihkan permintaan. Anda dapat mengarahkan permintaan ke halaman host lain atau halaman lainnya, atau Anda dapat menentukan protokol lain yang akan digunakan. RoutingRule harus memiliki elemen Redirect. Elemen Redirect harus mengandung setidaknya satu dari elemen saudara berikut: Protocol, HostName, ReplaceKeyPrefixWith, ReplaceKeyWith, atau HttpRedirectCode.

Protocol

Protokolnya, http atau https, untuk digunakan dalam Location yang dikembalikan di respons.

Jika salah satu dari saudaranya mendapat persediaan, Protocol tidak diperlukan.

HostName

Nama host yang akan digunakan dalam header Location yang dikembalikan dalam respons.

Jika salah satu dari saudaranya mendapat persediaan, HostName tidak diperlukan.

ReplaceKeyPrefixWith

Prefiks nama kunci objek yang menggantikan nilai KeyPrefixEquals dalam permintaan pengalihan.

Jika salah satu dari saudaranya mendapat persediaan, ReplaceKeyPrefixWith tidak diperlukan. Perangkat ini hanya dapat disediakan jika ReplaceKeyWith tidak disediakan.

ReplaceKeyWith

Kunci objek yang akan digunakan dalam header Location yang dikembalikan dalam respons.

Jika salah satu dari saudaranya mendapat persediaan, ReplaceKeyWith tidak diperlukan. Perangkat ini hanya dapat disediakan jika ReplaceKeyPrefixWith tidak disediakan.

HttpRedirectCode

Kode pengalihan HTTP yang akan digunakan dalam header Location yang dikembalikan dalam respons.

Jika salah satu dari saudaranya mendapat persediaan, HttpRedirectCode tidak diperlukan.

Contoh aturan pengalihan

Contoh berikut ini menjelaskan tugas pengalihan umum:

penting

Untuk membuat aturan pengalihan di konsol Amazon S3, Anda harus menggunakan JSON.

contoh 1: Alihkan setelah mengganti nama sebuah prefiks kunci

Misalkan bucket Anda berisi objek berikut:

  • index.html

  • docs/article1.html

  • docs/article2.html

Anda memutuskan untuk mengganti nama folder dari docs/ ke documents/. Setelah Anda membuat perubahan ini, Anda harus mengalihkan permintaan untuk prefiks docs/ ke documents/. Misalnya, permintaan untuk docs/article1.html akan dialihkan ke documents/article1.html.

Dalam hal ini, Anda menambahkan aturan perutean berikut ke konfigurasi situs web.

JSON
[ { "Condition": { "KeyPrefixEquals": "docs/" }, "Redirect": { "ReplaceKeyPrefixWith": "documents/" } } ]
XML
<RoutingRules> <RoutingRule> <Condition> <KeyPrefixEquals>docs/</KeyPrefixEquals> </Condition> <Redirect> <ReplaceKeyPrefixWith>documents/</ReplaceKeyPrefixWith> </Redirect> </RoutingRule> </RoutingRules>
contoh 2: Alihkan permintaan untuk folder yang dihapus ke sebuah halaman

Misalkan Anda menghapus folder images/ (yaitu, Anda menghapus semua objek dengan prefiks kunci images/). Anda dapat menambahkan aturan perutean yang mengalihkan permintaan untuk objek apa pun dengan prefiks kunci images/ ke halaman yang diberi nama folderdeleted.html.

JSON
[ { "Condition": { "KeyPrefixEquals": "images/" }, "Redirect": { "ReplaceKeyWith": "folderdeleted.html" } } ]
XML
<RoutingRules> <RoutingRule> <Condition> <KeyPrefixEquals>images/</KeyPrefixEquals> </Condition> <Redirect> <ReplaceKeyWith>folderdeleted.html</ReplaceKeyWith> </Redirect> </RoutingRule> </RoutingRules>
contoh 3: Alihkan untuk kesalahan HTTP

Misalkan ketika objek yang diminta tidak ditemukan, Anda sebaiknya mengalihkan permintaan ke instans Amazon Elastic Compute Cloud (Amazon EC2). Tambahkan aturan pengalihan sehingga ketika kode status HTTP 404 (Tidak Ditemukan) dikembalikan, pengunjung situs dialihkan ke instans Amazon EC2 yang menangani permintaan tersebut.

Contoh berikut juga memasukkan prefiks kunci objek report-404/ dalam pengalihan. Misalnya, jika Anda meminta halaman ExamplePage.html dan ini mengakibatkan kesalahan HTTP 404, permintaan akan diarahkan ke halaman report-404/ExamplePage.html pada instans Amazon EC2 yang ditentukan. Jika tidak ada aturan perutean dan terjadi kesalahan HTTP 404, dokumen kesalahan yang ditentukan dalam konfigurasi akan dikembalikan.

JSON
[ { "Condition": { "HttpErrorCodeReturnedEquals": "404" }, "Redirect": { "HostName": "ec2-11-22-333-44.compute-1.amazonaws.com", "ReplaceKeyPrefixWith": "report-404/" } } ]
XML
<RoutingRules> <RoutingRule> <Condition> <HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals > </Condition> <Redirect> <HostName>ec2-11-22-333-44.compute-1.amazonaws.com</HostName> <ReplaceKeyPrefixWith>report-404/</ReplaceKeyPrefixWith> </Redirect> </RoutingRule> </RoutingRules>

Mengalihkan permintaan untuk objek

Anda dapat mengalihkan permintaan untuk objek ke objek atau URL lain dengan mengatur lokasi pengalihan situs web di metadata objek tersebut. Anda mengatur pengalihan dengan menambahkan properti x-amz-website-redirect-location ke metadata objek tersebut. Di konsol Amazon S3, Anda menetapkan Lokasi Pengalihan Situs Web dalam metadata objek tersebut. Jika Anda menggunakan API Amazon S3, Anda mengatur x-amz-website-redirect-location. Halaman web kemudian mengartikan objek sebagai pengalihan 301.

Untuk mengarahkan permintaan ke objek lain, Anda menetapkan lokasi pengalihan ke kunci objek target. Untuk mengalihkan permintaan ke URL eksternal, Anda mengatur lokasi pengalihan ke URL yang diinginkan. Untuk informasi selengkapnya tentang pemberian metadata objek, lihat Metadata objek yang ditentukan sistem.

Saat Anda mengatur suatu halaman, Anda dapat menyimpan atau menghapus konten objek sumber. Misalnya, jika Anda memiliki objek page1.html di bucket Anda, Anda dapat mengalihkan permintaan apa pun untuk halaman ini ke objek lain, page2.html. Anda memiliki dua opsi:

  • Simpan konten page1.html dan alihkan permintaan halaman.

  • Hapus konten page1.html dan unggah objek zero-byte dengan nama page1.html untuk mengganti objek yang ada dan mengarahkan kembali permintaan halaman.

  1. Buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.

  2. Di daftar Bucket, pilih nama bucket yang telah Anda konfigurasikan sebagai situs web statis (misalnya, example.com).

  3. Di Bawah Objek, pilih objek Anda.

  4. Pilih Tindakan, lalu pilih Edit metadata.

  5. Pilih Metadata.

  6. Pilih Tambahkan Metadata.

  7. Di Bawah Jenis, pilih Sistem Didefinisikan.

  8. Di Key, pilih x-amz-website-redirect-location.

  9. Di Nilai, masukkan nama kunci objek yang ingin Anda arahkan, misalnya, /page2.html.

    Untuk objek lain dalam bucket yang sama, prefiks / pada nilai wajib diisi. Anda juga dapat mengatur nilai ke URL eksternal, misalnya, http://www.example.com.

  10. Pilih Edit metadata.

Tindakan API Amazon S3 berikut mendukung header x-amz-website-redirect-location dalam permintaan. Amazon S3 menyimpan nilai header di metadata objek sebagai x-amz-website-redirect-location.

Bucket yang dikonfigurasi untuk hosting situs web memiliki titik akhir situs web dan titik akhir REST. Permintaan untuk halaman yang dikonfigurasi sebagai pengalihan 301 memiliki kemungkinan hasil berikut, tergantung pada titik akhir permintaan:

  • Titik akhir situs web spesifik wilayah–Amazon S3 mengalihkan permintaan halaman sesuai dengan nilai properti x-amz-website-redirect-location.

  • Titik akhir REST–Amazon S3 tidak mengalihkan permintaan halaman. Ini akan mengembalikan objek yang diminta.

Untuk informasi selengkapnya tentang titik akhir, lihat Perbedaan utama antara titik akhir situs web dan titik akhir API REST.

Saat mengatur pengalihan halaman, Anda dapat menyimpan atau menghapus konten objek. Misalnya, anggap bahwa Anda memiliki objek page1.html tersebut dalam bucket Anda.

  • Untuk menyimpan konten page1.html dan hanya mengalihkan permintaan halaman, Anda dapat mengirimkan permintaan PUT Objek-Salin untuk membuat objek page1.html yang menggunakan objek page1.html yang sudah ada sebagai sumbernya. Dalam permintaan Anda, Anda menetapkan header x-amz-website-redirect-location. Ketika permintaan selesai, Anda akan memiliki halaman asli dengan konten yang tidak berubah, tetapi Amazon S3 akan mengalihkan semua permintaan halaman untuk halaman tersebut ke lokasi pengalihan yang Anda tentukan.

  • Untuk menghapus konten objek page1.html dan mengalihkan permintaan untuk halaman, Anda dapat mengirim permintaan PUT Objek untuk mengunggah objek nol-byte yang memiliki kunci objek yang sama: page1.html. Dalam permintaan PUT, Anda menetapkan x-amz-website-redirect-location untuk page1.html ke objek baru. Setelah permintaan selesai, page1.html tidak memiliki konten, dan permintaan diarahkan kembali ke lokasi yang ditentukan oleh x-amz-website-redirect-location.

Saat Anda mengambil objek menggunakan tindakan GET Objek bersama dengan metadata objek lain, Amazon S3 mengembalikan header x-amz-website-redirect-location di dalam respons.