Ошибка
Создаём S3 корзину, настраиваем>>> её как Static Website.
Далее – подключаем>>> к ней ClodFront distribution.
Для S3 – настраиваем редирект всех ошибок на index.html
, пробуем открыть несуществующую страницу – и “ловим” Acess Denied вместо перенаправления:
$ curl -L http://profile-testing.domain.com/signinscsdc <?xml version="1.0" encoding="UTF-8"?> <Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>0C488EAFDD6F8311</RequestId><HostId>za8ikpctv9Pr/Hn/AEyb09ikAAlUmd/Fq1ICHjA6AVPq0P2XDn87SNDMrEUkP1jMvTPQ8p2lktw=</HostId></Error>
Причина
При создании нового Distribution в CloudFront – он предлагает указать Origin Domain Name, и при перемещении курсора в поле ввода имени – выдаёт список URL для различных сервисов в этом аккаунте:
При этом, если выбрать имя S3 корзины из этого списка – то её URL будет вида:
profile.domain.com.s3.amazonaws.com
Решение
Правильный Origin
корзины, которая подключается к CDN должен быть в виде её Endpoint, который указан в свойствах корзины:
Т.е. – включать в себя website и регион, например:
profile.domain.com.s3-website-eu-west-1.amazonaws.com
Проверяем: