Cloudfront'ta statik olarak barındırılan bir web sitesinde alt dizinler için varsayılan bir kök nesneyi nasıl ayarlarsınız? Özellikle, www.example.com/subdir/index.html
kullanıcı ne zaman isterse size hizmet edilmesini istiyorum www.example.com/subdir
. Bunun, bir S3 klasöründe tutulan statik bir web sitesini sunmak için olduğunu unutmayın. Ek olarak, S3 klasörüne erişimi yalnızca Cloudfront ile kısıtlamak için bir kaynak erişim kimliği kullanmak istiyorum.
Şimdi, Cloudfront'un özellikle S3 ve amazon eyaletlerinden farklı çalıştığını biliyorum :
CloudFront varsayılan kök nesnelerinin davranışı, Amazon S3 dizin belgelerinin davranışından farklıdır. Bir Amazon S3 klasörünü web sitesi olarak yapılandırdığınızda ve dizin belgesini belirttiğinizde, Amazon S3, kullanıcı grupta bir alt dizin talep etse bile dizin belgesini döndürür. (Dizin belgesinin bir kopyası her alt dizinde görünmelidir.) Amazon S3 paketlerini web sitesi olarak yapılandırma ve dizin belgeleri hakkında daha fazla bilgi için Amazon Simple Storage Service Geliştirici Kılavuzu'ndaki Amazon S3'te Web Sitelerini Barındırma bölümüne bakın.
Bunun gibi, CloudFront varsayılan bir kök nesne belirtmek için bize imkan verse dahi, bu sadece çalışır www.example.com
ve değil www.example.com/subdir
. Bu zorluğun üstesinden gelmek için, kaynak alan adını S3 tarafından verilen web sitesi uç noktasına işaret edecek şekilde değiştirebiliriz. Bu harika çalışıyor ve kök nesnelerin tek tip olarak belirlenmesine izin veriyor. Maalesef bu, kaynak erişim kimlikleriyle uyumlu görünmüyor . Özellikle yukarıdaki bağlantılar şunları belirtir:
Düzenleme moduna geçin:
Web dağıtımları - Kökenler sekmesini tıklayın, düzenlemek istediğiniz kaynağı tıklayın ve Düzenle'yi tıklayın. Yalnızca Origin Type'ın S3 Origin olduğu kaynaklar için bir kaynak erişim kimliği oluşturabilirsiniz.
Temel olarak, doğru varsayılan kök nesnesini ayarlamak için web sitesi paketinin kendisini değil, S3 web sitesi uç noktasını kullanırız. Bu, kaynak erişim kimliğinin kullanılmasıyla uyumlu değildir. Bu nedenle, sorularım ikisine de
Cloudfront'ta statik olarak barındırılan bir web sitesi için tüm alt dizinler için varsayılan bir kök nesne belirtmek mümkün müdür?
Kaynağın S3 web sitesi uç noktası olduğu ve S3 klasörünün olmadığı Cloudfront'tan sunulan içerik için bir kaynak erişim kimliği ayarlamak mümkün müdür?