AWS S3 с базой c Аутентификация с лямбдой дает AccessDenied при обновлении страницы - PullRequest
0 голосов
/ 13 января 2020

У меня есть настройка S3 с CloudFront для обслуживания статического c сайта за Basi c HTTP-аутентификацией, подобного этой настройке здесь: Basi c Аутентификация пользователя для Stati c Сайт с использованием AWS & S3 Bucket

Кажется, все работает нормально, но по какой-то причине, когда я делаю refre sh сайта, CloudFront отвечает 403 AccessDenied. Это также происходит только при переходе куда-то на сайт, например example.com/somepath, и обновлении сайта. Если я останусь на уровне root: example.com и нажму на эту кнопку refre sh, то все будет работать нормально.

Я настроил маршрутизацию в приложении реагирования, чтобы было ясно, что при навигации по сайту через ссылки на приложения все вроде нормально. Только обновление страницы вызывает вышеуказанную проблему. На S3 у меня отключен stati c хостинг веб-сайтов, так как я не хочу, чтобы кто-либо обращался к моим файлам S3 напрямую через ссылки S3.

Я добавил пользовательскую страницу ошибок в дистрибутив CloudFront. Для всех ошибок 403 он должен извлечь root из источника / и вернуть код состояния HTTP 200.

Есть идеи, где искать проблему?

1 Ответ

0 голосов
/ 13 января 2020

Проблема была связана с неверно настроенной страницей ошибки распространения CloudFront. Наличие страницы ошибки, настроенной для ошибки 403 для перехода к корзине S3 root с кодом состояния HTTP 200, решает проблему. Потребовалось некоторое время, чтобы привести его в действие, что привело к путанице.

...