Реагировать на ссылки маршрутизатора в приложении, прерванные после перехода на cloudfront + SSL

У меня есть приложение реагирования, использующее реагирующий маршрутизатор, размещенный в корзине S3, с использованием Route53 в качестве поставщика DNS. Приложение работало нормально с конфигурацией Route53, указывающей на ведро S3.

Поскольку я хочу использовать SSL, я создал дистрибутив Cloudfront, указывающий на корзину, с сертификатом SSL, и указал на него DNS. С тех пор ни одна из ссылок не работает, (example.com работает, а example.com/foo - нет). Он просто возвращает ошибку NoSuchKey. Я знаю, что это неправильно, так как ключ определенно есть, и он работал раньше.

1 ответ

Решение

Проблемы

  1. Как и большинство веб-серверов, CloudFront/S3 сгенерирует 404, если корзина не содержит объект, указанный в URL.
  2. Неизвестные / неопознанные объекты автоматически выдают 403, если они не являются общедоступными или не имеют необходимых разрешений

Решение

Вы можете сделать так, чтобы CloudFront возвращал объект в программу просмотра (например, файл HTML), когда ваш Amazon S3 или пользовательский источник возвращает код состояния HTTP 4xx или 5xx в CloudFront. Вы также можете указать, как долго ответ об ошибке от вашего источника или пользовательская страница ошибки будет кэшироваться в пограничных кешах CloudFront.

Больше ресурсов

Другие вопросы по тегам