Назад | Перейти на главную страницу

Как сохранить страницу пользовательской ошибки Cloudfront в S3?

У меня Cloudfront подключен к балансировщику нагрузки AWS.

В документации AWS я видел, что могу настраивать пользовательские страницы ошибок Cloudfront. Я попытался сохранить эти страницы ошибок в S3, как это рекомендуется в документе AWS, но это не сработало. В документации говорится:

We recommend that you store custom error pages in an Amazon S3 bucket even if you're using a custom origin. If you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.

Моя страница с ошибкой находится в S3 с путем "my-app-bucket / errorpage.html".

Я попытался связать этот файл в конфигурации Cloudfront, но у меня возникла следующая ошибка:

Если я попробую значение /my-app-bucket/errorpage.html, Cloudfront перенаправит запрос на источник моего ELB, и я получу 404.

Кто мог бы мне объяснить, как я могу выполнить эту настройку?

Это намеки от http://blog.celingest.com/en/2013/12/12/cloudfront-configuring-custom-error-pages/

  • Вам нужно добавить еще один источник CloudFront, указывающий на сегмент, в котором находится ваша страница с ошибкой.
  • Поведение кеша вновь созданного источника должно иметь шаблон пути, указывающий на папку (в сегменте страницы ошибок), где находятся страницы ошибок.
  • Затем вы можете использовать этот путь в пути к странице ответа при создании конфигурации настраиваемого ответа на ошибку.

Для этого есть гораздо более простой способ, чем тот, который рекомендует f01. Включите статический хостинг веб-сайтов в S3, укажите страницу с ошибкой в ​​S3, а затем используйте URL-адрес статического веб-сайта в качестве источника для вашей корзины Cloudfront. Нет особых проблем с путями, нет настраиваемой конфигурации ответа на ошибку. Просто работает. Очень просто.

Вот обучающее видео, которое я сделал:

Пользовательские страницы ошибок в AWS S3 и Cloudfront