Jak ustawić domyślny obiekt główny dla podkatalogów w witrynie hostowanej statycznie w Cloudfront? W szczególności chciałbym www.example.com/subdir/index.html
być obsługiwany za każdym razem, gdy poprosi o to użytkownik www.example.com/subdir
. Uwaga: służy to dostarczaniu statycznej witryny internetowej przechowywanej w zasobniku S3. Ponadto chciałbym użyć tożsamości dostępu pochodzenia, aby ograniczyć dostęp do zasobnika S3 tylko do Cloudfront.
Teraz zdaję sobie sprawę, że Cloudfront działa inaczej niż S3 i stany amazon w szczególności :
Zachowanie domyślnych obiektów głównych CloudFront różni się od zachowania dokumentów indeksowych Amazon S3. Po skonfigurowaniu zasobnika Amazon S3 jako witryny internetowej i określeniu dokumentu indeksu Amazon S3 zwraca dokument indeksu, nawet jeśli użytkownik zażąda podkatalogu w zasobniku. (Kopia dokumentu indeksu musi znajdować się w każdym podkatalogu). Aby uzyskać więcej informacji na temat konfigurowania zasobników Amazon S3 jako witryn internetowych i dokumentów indeksowych, zobacz rozdział Hostowanie witryn internetowych na Amazon S3 w podręczniku programisty Amazon Simple Storage Service.
W związku z tym, mimo że Cloudfront pozwala nam określić domyślny obiekt główny, działa to tylko dla, www.example.com
a nie dla www.example.com/subdir
. Aby obejść tę trudność, możemy zmienić nazwę domeny pochodzenia tak, aby wskazywała punkt końcowy witryny internetowej podany przez S3. Działa to świetnie i umożliwia jednolite określanie obiektów głównych. Niestety wydaje się, że nie jest to zgodne z tożsamościami dostępu pochodzenia . W szczególności powyższe linki stanowią:
Zmień na tryb edycji:
Dystrybucje internetowe - kliknij kartę Początki, kliknij źródło, które chcesz edytować, i kliknij Edytuj. Możesz utworzyć tożsamość dostępu do źródła tylko dla źródeł, dla których Typ pochodzenia to S3 Origin.
Zasadniczo, aby ustawić prawidłowy domyślny obiekt główny, używamy punktu końcowego witryny S3, a nie samego zasobnika witryny. Nie jest to zgodne z używaniem tożsamości dostępu pochodzenia. Jako takie, moje pytania sprowadzają się do jednego z nich
Czy można określić domyślny obiekt główny dla wszystkich podkatalogów dla witryny hostowanej statycznie w Cloudfront?
Czy można skonfigurować tożsamość dostępu pochodzenia dla treści udostępnianej z Cloudfront, gdzie źródłem jest punkt końcowy witryny S3, a nie zasobnik S3?