Bagaimana Anda menyetel objek root default untuk subdirektori di situs web yang dihosting secara statis di Cloudfront? Secara khusus, saya ingin www.example.com/subdir/index.html
dilayani setiap kali pengguna meminta www.example.com/subdir
. Catatan, ini untuk mengirimkan situs web statis yang disimpan dalam keranjang S3. Selain itu, saya ingin menggunakan identitas akses asal untuk membatasi akses ke bucket S3 hanya di Cloudfront.
Sekarang, saya menyadari bahwa Cloudfront bekerja secara berbeda dari S3 dan negara bagian amazon secara khusus :
Perilaku objek root default CloudFront berbeda dari perilaku dokumen indeks Amazon S3. Saat Anda mengonfigurasi bucket Amazon S3 sebagai situs web dan menentukan dokumen indeks, Amazon S3 mengembalikan dokumen indeks meskipun pengguna meminta subdirektori di bucket. (Salinan dokumen indeks harus muncul di setiap subdirektori.) Untuk informasi selengkapnya tentang mengonfigurasi bucket Amazon S3 sebagai situs web dan tentang dokumen indeks, lihat bab Situs Web Hosting di Amazon S3 di Panduan Pengembang Amazon Simple Storage Service.
Dengan demikian, meskipun Cloudfront memungkinkan kita menentukan objek root default, ini hanya berfungsi untuk www.example.com
dan bukan untuk www.example.com/subdir
. Untuk mengatasi kesulitan ini, kita dapat mengubah nama domain asal menjadi titik akhir situs web yang diberikan oleh S3. Ini berfungsi dengan baik dan memungkinkan objek root ditentukan secara seragam. Sayangnya, ini tampaknya tidak sesuai dengan identitas akses asal . Secara khusus, tautan di atas menyatakan:
Ubah ke mode edit:
Distribusi web - Klik tab Origins, klik origin yang ingin Anda edit, dan klik Edit. Anda hanya dapat membuat identitas akses asal untuk asal yang Jenis Asal adalah S3 Origin.
Pada dasarnya, untuk menyetel objek root default yang benar, kami menggunakan titik akhir situs web S3 dan bukan keranjang situs web itu sendiri. Ini tidak kompatibel dengan menggunakan identitas akses asal. Karena itu, pertanyaan saya bermuara pada keduanya
Apakah mungkin untuk menentukan objek root default untuk semua subdirektori untuk situs web yang dihosting secara statis di Cloudfront?
Apakah mungkin untuk menyiapkan identitas akses asal untuk konten yang disajikan dari Cloudfront yang asalnya adalah titik akhir situs web S3 dan bukan bucket S3?