Разработчик размещает статический веб-сайт в бакете S3, обслуживаемом через CloudFront с использованием origin access control (OAC), чтобы бакет не был публичным. Пользователи могут получать доступ к явным URL-адресам файлов (например, /products/index.html), но получают ошибку при запросе URL-адресов каталогов (например, /products/). Как можно обслуживать запросы к каталогам, чтобы они возвращали файл индекса по умолчанию, не делая бакет S3 публичным?
Выберите ответ
Нажмите на вариант, чтобы проверить свой ответ.
Правильный ответ: Создать функцию CloudFront viewer-request, которая обнаруживает запросы в стиле каталогов и добавляет index.html к URL-адресу запроса, и прикрепить ее к поведению дистрибутива..
Почему это правильный ответ
Правильный ответ — создание функции CloudFront viewer-request. Эта функция может перехватывать запросы, заканчивающиеся на слэш (например, /products/), и переписывать их, добавляя index.html (например, /products/index.html), прежде чем запрос достигнет S3. Это позволяет S3 обслуживать соответствующий индексный файл, сохраняя при этом OAC и предотвращая публичный доступ к бакету. Изменение объекта по умолчанию CloudFront (default root object) не решит проблему для подкаталогов, оно работает только для корневого URL-адреса дистрибутива. Включение хостинга статического веб-сайта S3 сделает бакет публичным, что противоречит условию задачи. Настройка пользовательского ответа об ошибке CloudFront для 404 Not Found не является оптимальным решением, так как это будет срабатывать только после того, как S3 вернет ошибку 404, а не до того, как запрос будет обработан.
Сдайте экзамен — без бесконечного поиска ответов
Получите все проверенные вопросы и объяснения для этого экзамена в одном месте и сэкономьте часы подготовки. 1000+ сертификаций · 20+ языков · начните бесплатно.
Сдайте экзамен быстрее → Карта не требуется