Создайте мою собственную страницу ошибок для Amazon S3 - PullRequest
5 голосов
/ 02 мая 2011

Мне было интересно, возможно ли создать собственные страницы ошибок для моих корзин S3. У меня включен CloudFront, и я использую свой собственный CNAME, чтобы назначить S3 поддомену для моего сайта. Это помогает мне создавать аккуратные ссылки, которые ссылаются на мое доменное имя.

Когда кто-то пытается получить доступ к файлу, который, возможно, был удален или ссылка не совсем правильная, он получает страницу с ошибкой XML S3, которая уродлива и не очень полезна для пользователя.

Есть ли способ переопределить эти страницы ошибок, чтобы вместо этого я мог отобразить полезную HTML-страницу?

1 Ответ

5 голосов
/ 05 мая 2011

Если вы сконфигурируете свое ведро как «веб-сайт», вы можете создавать собственные страницы ошибок.

Для получения дополнительной информации см. объявление Amazon этой функции и AWS-разработчик.guide .

Однако при таком подходе есть некоторые оговорки, главная из которых заключается в том, что ваши объекты должны быть общедоступными.

Он также работает с Cloudfront, но с тем же общедоступным доступом.ограничения применяются.См. https://forums.aws.amazon.com/ann.jspa?annID=921.

Если хотите, вы можете попробовать их сразу же, настроив корзину Amazon S3 в качестве веб-сайта и сделав конечную точку нового сайта Amazon S3 настраиваемой отправной точкой для своего дистрибутива CloudFront.Несколько заметок, когда вы делаете это.Во-первых, вы должны установить для своей политики протокола настраиваемого источника значение «только для http». Во-вторых, вам нужно будет использовать инструмент, поддерживающий функцию настраиваемого источника CloudFront - Консоль управления AWS на данный момент не предоставляет эту функцию.Наконец, обратите внимание, что когда вы используете статическую функцию веб-сайта Amazon S3, весь контент в вашей корзине S3 должен быть общедоступным, поэтому вы не можете использовать функцию приватного контента CloudFront с этой корзиной.Если вы хотите использовать частный контент с S3, вам необходимо использовать конечную точку S3 REST (например, s3.amazonaws.com).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...