Как установить корневой объект по умолчанию для подкаталогов на статически размещенном веб-сайте в Cloudfront? В частности, я хотел бы, www.example.com/subdir/index.html
чтобы меня обслуживали всякий раз, когда об этом просит пользователь www.example.com/subdir
. Обратите внимание, это для доставки статического веб-сайта, хранящегося в корзине S3. Кроме того, я хотел бы использовать удостоверение доступа к источнику, чтобы ограничить доступ к корзине S3 только Cloudfront.
Теперь, я знаю , что CloudFront работает иначе , чем S3 и амазонка состояний конкретно :
Поведение корневых объектов CloudFront по умолчанию отличается от поведения индексных документов Amazon S3. Когда вы настраиваете корзину Amazon S3 в качестве веб-сайта и указываете индексный документ, Amazon S3 возвращает индексный документ, даже если пользователь запрашивает подкаталог в корзине. (Копия индексного документа должна находиться в каждом подкаталоге.) Для получения дополнительных сведений о настройке корзин Amazon S3 в качестве веб-сайтов и об индексных документах см. Главу «Хостинг веб-сайтов на Amazon S3» в Руководстве разработчика Amazon Simple Storage Service.
Таким образом, хотя Cloudfront позволяет нам указывать корневой объект по умолчанию, это работает только для, www.example.com
а не для www.example.com/subdir
. Чтобы обойти эту трудность, мы можем изменить имя исходного домена, чтобы оно указывало на конечную точку веб-сайта, заданную S3. Это отлично работает и позволяет единообразно указывать корневые объекты. К сожалению, это несовместимо с идентификаторами доступа к источнику . В частности, в приведенных выше ссылках говорится:
Перейти в режим редактирования:
Распространение через Интернет - перейдите на вкладку «Происхождение», щелкните источник, который нужно изменить, и нажмите «Изменить». Вы можете создать удостоверение доступа к источнику только для источников, для которых Тип происхождения - S3 Origin.
По сути, чтобы установить правильный корневой объект по умолчанию, мы используем конечную точку веб-сайта S3, а не сам сегмент веб-сайта. Это несовместимо с использованием идентификатора доступа к источнику. Таким образом, мои вопросы сводятся к либо
Можно ли указать корневой объект по умолчанию для всех подкаталогов для статически размещенного веб-сайта в Cloudfront?
Можно ли настроить идентификатор доступа к источнику для контента, обслуживаемого из Cloudfront, где источником является конечная точка веб-сайта S3, а не корзина S3?