Saya mencoba melakukan sesuatu yang seharusnya relatif mudah - saya ingin mengatur beberapa domain dan subdomain untuk mengalihkan ke domain inti untuk situs kami, tetapi saya ingin meletakkan pengalihan di Cloudfront. Semuanya berfungsi kecuali mengarahkan ulang jalur root - yang memberi saya file XML yang sebagian menggambarkan ember S3.
Latar Belakang
S3
S3 memungkinkan Anda untuk menyiapkan bucket semua-redirect , seperti:
Pengujian ini, titik akhir web (brass9-com.s3-website-us-west-1.amazonaws.com) melakukan apa yang seharusnya - itu dialihkan ke brass9.com. Baik.
Cloudfront
Cloudfront memungkinkan Anda menunjuk ke ember S3, tetapi cara itu menyarankan Anda salah - daripada menunjuk ke ember dengan namanya, seperti brass9-com.s3.amazonaws.com, Anda harus menggunakan Titik Akhir Web di atas. Selain itu, Anda dapat membiarkan semuanya default dan mendapatkan perilaku pengalihan yang baik. Jadi, jalur seperti www.brass9.com/portfolio dengan benar mengalihkan ke tempat yang seharusnya. Bagus juga.
Masalahnya - redirect domain root
Satu hal yang kemudian gagal berfungsi adalah mengalihkan dari www.brass9.com polos . Alih-alih membuat Anda mengarahkan, itu membuat Anda mendapatkan hasil yang aneh ini:
<?xml version="1.0" encoding="UTF-8"?>
<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Name>brass9-com</Name><Prefix></Prefix>
<Marker></Marker><MaxKeys>1000</MaxKeys><IsTruncated>false</IsTruncated>
</ListBucketResult>
BAIK... . Jadi ini tidak sepenuhnya tidak terduga - karena tidak ada Objek Root Default. Tapi Objek Root Default apa yang mungkin saya tentukan untuk mencegah perilaku ini? Apa nama objek redirect S3, jika ada, yang perlu saya tunjuk? Atau apakah ada konfigurasi yang tepat lainnya, atau ini hanya bug dalam bagaimana Cloudfront dan S3 berinteraksi yang perlu diperbaiki Amazon?
Solusi Tidak Diketahui: Objek Root Default
Dimungkinkan untuk menentukan Obyek Root Default index.html, tetapi tidak membantu - hanya mengubah masalah. URL Cloudfront alih-alih diarahkan ke /index.html di situs utama, yaitu 404 (kami tidak menggunakan file index.html, ini adalah situs yang didorong kerangka kerja server-side). Saya bisa meletakkan index.html di server, tapi itu mengalahkan kenaikan kecepatan kecil menggunakan Cloudfront di tempat pertama.
Pertanyaan serupa
Satu pertanyaan menanyakan hal serupa tetapi mendapatkan kembali respons kosong 0-byte untuk beberapa alasan, bukan apa yang saya lihat, respons XML. Itu tidak termasuk pertanyaan tentang masalah itu atau resolusi.
Artikel terkait
Satu artikel mengusulkan Anda hanya melayani seluruh situs pada domain kosong dan www . Ini mengacaukan bookmark pengguna mana pun, peringkat pencarian Anda, dll, dll. Anda seharusnya tidak melakukan ini.
Beberapa membahas hosting situs web statis di S3 dan Cloudfront daripada skema pengalihan, dan begitu juga tidak terkait.
Jadi, bagaimana saya melakukan ini dengan benar?
Cuplikan layar Konfigurasi Cloudfront - tidak ada Objek Root Default, menunjuk ke asal S3. Abaikan InProgress - Saya baru saja mengaktifkan dan menonaktifkan Objek Root default untuk menguji.
Dan konfigurasi asal untuk Distribusi itu:
GET /
sejak sebelum Anda mengoreksi konfigurasi Anda untuk menggunakan titik akhir web.