Anda dapat mengonfigurasi bucket untuk static website hosting dan menetapkan aturan pengalihan (RoutingRule) untuk mirroring-based back-to-origin. Setelah static website hosting diaktifkan, permintaan ke situs web tersebut setara dengan permintaan ke bucket. Anda juga dapat mengonfigurasi pengalihan otomatis ke halaman indeks dan halaman error tertentu. Aturan pengalihan untuk mirroring-based back-to-origin memungkinkan migrasi data ke Object Storage Service (OSS) secara mulus.
Static website hosting
Situs web statis terdiri atas halaman yang berisi konten statis, termasuk skrip sisi klien seperti JavaScript. Anda dapat meng-host situs web statis pada sebuah bucket dan mengaksesnya melalui endpoint bucket tersebut.
Set up static website hosting
Kode berikut menunjukkan cara mengatur static website hosting:
const OSS = require('ali-oss') const client = new OSS({ // Setel region ke wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel region ke oss-cn-hangzhou. region: 'yourRegion', // Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel. accessKeyId: process.env.OSS_ACCESS_KEY_ID, accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET, authorizationV4: true, // Setel bucket ke nama bucket Anda. bucket: 'yourBucketName', }); // Mengatur static website hosting. async function putBucketWebsite () { try { // Tentukan nama bucket, misalnya examplebucket. const result = await client.putBucketWebsite('examplebucket', { // Tetapkan halaman utama default untuk static website hosting. index: 'index.html', // Tetapkan halaman error 404 default untuk static website hosting. error: 'error.html' }); console.log(result); } catch (e) { console.log(e); } } putBucketWebsite();View the static website hosting configuration
Kode berikut menunjukkan cara melihat konfigurasi static website hosting:
const OSS = require('ali-oss') const client = new OSS({ // Setel region ke wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel region ke oss-cn-hangzhou. region: 'yourRegion', // Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel. accessKeyId: process.env.OSS_ACCESS_KEY_ID, accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET, authorizationV4: true, // Setel bucket ke nama bucket Anda. bucket: 'yourBucketName', }); // Melihat halaman utama default dan halaman error 404 default dari konfigurasi static website hosting. async function getBucketWebsite () { try { // Tentukan nama bucket, misalnya examplebucket. const result = await client.getBucketWebsite('examplebucket'); console.log(result); } catch (e) { console.log(e); } } getBucketWebsite();Delete the static website hosting configuration
Kode berikut menunjukkan cara menghapus konfigurasi static website hosting:
const OSS = require('ali-oss') const client = new OSS({ // Setel region ke wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel region ke oss-cn-hangzhou. region: 'yourRegion', // Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel. accessKeyId: process.env.OSS_ACCESS_KEY_ID, accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET, authorizationV4: true, // Setel bucket ke nama bucket Anda. bucket: 'yourBucketName', }); // Menghapus konfigurasi static website hosting. async function deleteBucketWebsite() { try { // Tentukan nama bucket, misalnya examplebucket. const result = await client.deleteBucketWebsite('examplebucket'); console.log(result); } catch (e) { console.log(e); } } deleteBucketWebsite();
Mirroring-based back-to-origin
Mirroring-based back-to-origin terutama digunakan untuk migrasi data ke OSS secara mulus. Misalnya, layanan Anda saat ini berjalan di server origin milik Anda sendiri atau di produk cloud lain. Jika Anda ingin memindahkan layanan tersebut ke OSS demi pengembangan bisnis, Anda harus memastikan layanan tetap berjalan selama proses migrasi. Selama migrasi, Anda dapat menggunakan aturan mirroring-based back-to-origin untuk mengambil data yang belum dimigrasikan ke OSS, sehingga layanan Anda tetap beroperasi sebagaimana mestinya.
Set up mirroring-based back-to-origin
Sebagai contoh, jika peminta mencoba mengakses file yang tidak ada di bucket tujuan, Anda dapat menentukan kondisi kembali-ke-asal dan URL asal. OSS kemudian akan mengambil file objek tersebut dari server origin. Misalnya, Anda memiliki bucket bernama examplebucket di wilayah China (Hangzhou). Jika peminta mencoba mengakses file yang tidak ada di direktori examplefolder bucket tersebut, Anda dapat mengonfigurasi aturan untuk mengambil file tersebut dari direktori examplefolder situs https://www.example.com/.
Kode berikut menunjukkan cara mengonfigurasi aturan mirroring-based back-to-origin untuk skenario di atas:
const OSS = require('ali-oss') constpath=require("path") const client = new OSS({ // Setel region ke wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel region ke oss-cn-hangzhou. region: 'yourRegion', // Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel. accessKeyId: process.env.OSS_ACCESS_KEY_ID, accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET, authorizationV4: true, // Setel bucket ke nama bucket Anda. bucket: 'yourBucketName', }); async function putBucketWebsite() { try { // Tentukan nama bucket, misalnya examplebucket. const result = await client.putBucketWebsite("examplebucket", { // Tetapkan halaman utama default untuk static website hosting. index: "index.html", // Tetapkan halaman error 404 default untuk static website hosting. error: "error.html", // Tentukan apakah akan mengalihkan ke halaman utama default dalam subdirektori saat subdirektori diakses. // supportSubDir:true , // Setelah halaman utama default ditetapkan, tentukan perilaku untuk permintaan objek yang tidak ada dan namanya tidak diakhiri dengan garis miring (/). Parameter ini hanya aktif jika SupportSubDir bernilai true. // type: 0 , routingRules: [ { RuleNumber: 1, // Aturan ini hanya berlaku untuk objek dengan awalan ini. Condition: { KeyPrefixEquals: "examplefolder/" , // Cocokkan aturan ini hanya jika kode status 404 dikembalikan saat objek yang ditentukan diakses. HttpErrorCodeReturnedEquals: 404 }, // Tentukan jenis pengalihan. Redirect: { RedirectType: "Mirror", // Tentukan apakah parameter permintaan disertakan saat aturan pengalihan atau mirroring-based back-to-origin dieksekusi. PassQueryString: true, // Tentukan URL asal untuk mirroring-based back-to-origin. MirrorURL: 'http://example.com/', // Memiliki efek yang sama dengan PassQueryString tetapi dengan prioritas lebih tinggi. Parameter ini hanya aktif jika RedirectType diatur ke Mirror. MirrorPassQueryString:true, // Jika permintaan kembali-ke-asal mengembalikan respons 3xx, tentukan apakah akan mengikuti pengalihan ke lokasi yang ditentukan untuk mengambil data. Parameter ini hanya aktif jika RedirectType diatur ke Mirror. Jika diatur ke true, OSS akan terus meminta alamat yang sesuai dengan lokasi tersebut. MirrorFollowRedirect:true, // Tentukan apakah akan memeriksa hash MD5 dari badan respons kembali-ke-asal. MirrorCheckMd5:false, // Tentukan header yang dibawa untuk mirroring-based back-to-origin. // Tentukan apakah semua header diteruskan ke server origin. MirrorHeaders:{ PassAll: true, // Teruskan header yang ditentukan dalam Pass ke server origin. Pass:'myheader-key1', Pass:'myheader-key2', // Larang header yang ditentukan dalam Remove untuk diteruskan ke server origin. Remove:'myheader-key3', Remove:'myheader-key4'} }} ] }); console.log(result); } catch (e) { console.log(e); } } putBucketWebsite();Retrieve the mirroring-based back-to-origin configuration
Kode berikut menunjukkan cara mengambil konfigurasi mirroring-based back-to-origin:
const OSS = require('ali-oss') constpath=require("path") const client = new OSS({ // Setel region ke wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel region ke oss-cn-hangzhou. region: 'yourRegion', // Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel. accessKeyId: process.env.OSS_ACCESS_KEY_ID, accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET, authorizationV4: true, // Setel bucket ke nama bucket Anda. bucket: 'yourBucketName', }); // Mendapatkan konfigurasi mirroring-based back-to-origin. async function getBucketWebsite () { try { // Tentukan nama bucket, misalnya examplebucket. const result = await client.getBucketWebsite('examplebucket'); console.log(result); } catch (e) { console.log(e); } } getBucketWebsite();Delete the mirroring-based back-to-origin configuration
Kode berikut menunjukkan cara menghapus konfigurasi mirroring-based back-to-origin:
const OSS = require('ali-oss') constpath=require("path") const client = new OSS({ // Setel region ke wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel region ke oss-cn-hangzhou. region: 'yourRegion', // Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel. accessKeyId: process.env.OSS_ACCESS_KEY_ID, accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET, authorizationV4: true, // Setel bucket ke nama bucket Anda. bucket: 'yourBucketName', }); // Menghapus konfigurasi mirroring-based back-to-origin. async function deleteBucketWebsite() { try { // Tentukan nama bucket, misalnya examplebucket. const result = await client.deleteBucketWebsite('examplebucket'); console.log(result); } catch (e) { console.log(e); } } deleteBucketWebsite();
Referensi
Untuk informasi selengkapnya tentang operasi API yang digunakan untuk mengonfigurasi static website hosting atau mirroring-based back-to-origin, lihat PutBucketWebsite.
Untuk informasi selengkapnya tentang operasi API yang digunakan untuk mengambil konfigurasi static website hosting atau mirroring-based back-to-origin, lihat GetBucketWebsite.
Untuk informasi selengkapnya tentang operasi API yang digunakan untuk menghapus konfigurasi static website hosting atau mirroring-based back-to-origin, lihat DeleteBucketWebsite.