Saat Anda mengakses Nama domain yang dipercepat Content Delivery Network (CDN) yang didukung oleh bucket OSS pribadi, muncul error berikut:
X-Tengine-Error: You are forbidden to list bucketsTopik ini menjelaskan penyebab error tersebut dan memberikan langkah-langkah untuk mengatasinya.
Penyebab masalah
Saat back-to-origin CDN untuk bucket pribadi diaktifkan, mengakses nama domain yang dipercepat pada path root memicu permintaan GetBucket (ListObjects). Secara default, CDN menolak permintaan ListObjects.
Terdapat dua akar penyebab:
Konflik hosting situs web statis — Hosting situs web statis OSS tidak kompatibel dengan back-to-origin bucket pribadi CDN. Jika keduanya diaktifkan, CDN tidak dapat menandatangani dan meneruskan permintaan ke OSS secara benar.
Tidak adanya `index.html` dalam permintaan back-to-origin — Saat permintaan mengenai path root (misalnya,
www.example.com), CDN menandatangani permintaan untuk path tersebut. Namun, OSS menyajikanwww.example.com/index.html. Tanda tangan mencakup path root, bukan path file, sehingga OSS menolak permintaan tersebut sebagai tidak sah.
Hosting situs web statis OSS bertentangan dengan back-to-origin bucket pribadi CDN. Jika bucket Anda memiliki hosting situs web statis yang diaktifkan, selesaikan terlebih dahulu konflik tersebut sebelum melakukan troubleshooting ketidaksesuaian signature.
Penyelesaian
Langkah 1: Periksa apakah hosting situs web statis diaktifkan
Buka pengaturan bucket OSS Anda dan periksa status hosting situs web statis.
Jika hosting situs web statis diaktifkan, pilih salah satu opsi berikut berdasarkan kasus penggunaan Anda:
| Opsi | Kapan digunakan | Yang harus dilakukan |
|---|---|---|
| Nonaktifkan hosting situs web statis | Anda tidak memerlukan OSS untuk menyajikan situs statis | Nonaktifkan hosting situs web statis. Untuk detailnya, lihat Static website hosting. |
| Alihkan ke public read dan nonaktifkan private back-to-origin | Anda memerlukan fungsi hosting situs web statis | Atur ACL bucket ke public read dan nonaktifkan back-to-origin bucket pribadi CDN. Untuk detailnya, lihat Configure access to private OSS buckets. |
Jika hosting situs web statis tidak diaktifkan, lanjutkan ke Langkah 2.
Langkah 2: Tambahkan aturan penulisan ulang URL di CDN
Di sisi CDN, tambahkan aturan penulisan ulang yang mengarahkan permintaan path root ke index.html. Misalnya, tulis ulang www.example.com menjadi www.example.com/index.html.
Hal ini memastikan bahwa signature CDN dan path file aktual di OSS sesuai, sehingga mengatasi error tersebut.
Untuk petunjuk membuat aturan penulisan ulang, lihat Rewrite access URLs.