Как сохранить 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, но у меня есть следующая ошибка:

Cloudfront custom error page configuration

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

Кто мог объяснить меня, как я могу реализовать эту конфигурацию?

5
задан 6 November 2014 в 16:58
3 ответа

Это подсказки с http://blog.celingest. com/en/2013/12/12/ Cloudfront-configuring-custom-error-pages/

  • Нужно добавить еще один CloudFront, указывающий на ведро, где находится ваша страница ошибки
  • Поведение кэша нового... Созданное начало должно иметь Path Pattern, указывающую на папку (в ведре страницы ошибок), где находятся страницы ошибок
  • Вы можете использовать этот путь в Response Page Path при создании Custom Error Response config
5
ответ дан 3 December 2019 в 01:37

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

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

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

0
ответ дан 3 December 2019 в 01:37

Этот ответ является расшифровкой отличного видео mbarlockers, так как это внешняя ссылка, которая может исчезнуть, я расшифровал ее здесь.

Это отличное видео, но оно снова страдает из-за того, что оно является внешней ссылкой. Я собрал все видео здесь:

  1. Создайте корзину в s3 с именем, совместимым с DNS (пока не используйте точки)
  2. Make ведро общедоступное
  3. Загрузите свою страницу, оставьте разрешения для объектов по умолчанию
  4. Выберите стандартное хранилище
  5. Без шифрования
  6. Протестируйте с использованием URL-адреса ведра, просмотрите сбой
  7. Протестируйте с использованием полного URL-адреса объекта, просмотрите сбой
  8. Go в политику корзины и создайте политику, позволяющую всем читать ваши объекты с помощью GetObject.
  9. Игнорировать предупреждение общедоступной политики.
  10. Попробуйте еще раз указать URL-адрес объекта. Должно сработать.
  11. Включите хостинг статических веб-сайтов в настройках корзины в свойствах.
  12. Заполните поля индексного документа и страницы с ошибкой, нам не нужны перенаправления, сохраните
  13. Проверьте URL-адрес, сгенерированный статическим веб-хостингом, и используйте его, а также протестируйте с использованием несуществующего пути, и вы увидите свой 404
  14. Зайдите в облачный фронт и создайте дистрибутив.
  15. Назовите имя источника как появившуюся ссылку корзины.
  16. Оставьте все параметры, кроме кэширования, и установите значение 1 день.
  17. Сохраните и дождитесь развертывания облачного дистрибутива.
  18. Теперь выполните тестирование с помощью URL-адреса облачной службы, а также проверьте и отслеживайте сбои.
  19. Вернитесь к распространению облачной службы, перейдите в раздел пользовательских страниц ошибок и создайте ответ на пользовательской странице ошибок.
  20. Укажите 403 Forbidden в качестве кода ошибки HTTP
  21. 300 секунд TTL
  22. Настройте ответ на ошибку
  23. установите путь страницы ответа к /error.html (или как там называется ваша страница ошибки)
  24. Изменить ответ код 404 не найден
  25. Вернитесь в браузер и повторите попытку с неверным URL-адресом. Будет показана страница ошибки.
0
ответ дан 26 March 2021 в 10:44

Теги

Похожие вопросы