Ограничение на поведение в Cloudfront игнорируется или отменяется
Я использую одностраничное приложение Angular в S3 с дистрибутивом Cloudfront. Сама корзина используется только для хранения (без веб-интерфейса), и в моей обработке ошибок Cloudfront я настроил перенаправление для направления ошибок 403 обратно в /index.html с 200. Это позволяет использовать такие маршруты, как https://mypage/login to работать, даже если / login не существует вне приложения Angular.
Чтобы предотвратить злоупотребления (а так как приложению это не нужно), я настроил поведение для экземпляра Cloudfront, чтобы разрешить только GET и HEAD (без публикации, размещения и т. Д.). Странно то, что запросы POST (curl -X POST https://mypage/ и https://mypage/login) все еще обрабатываются. Если я изменю обработку ошибок на 404 перенаправления, то пост-блокировка, похоже, сработает, но мое приложение перестанет работать. Похоже, что страницы с ошибками превосходят поведение в Cloudfront.
Я мог бы вернуться к использованию # urls для маршрутизации (таким образом, URL становится https://mypage/), что менее приятно. Или я надеюсь, что кто-то может указать мне направление для решения этой проблемы с помощью функций Lambda@Edge (поскольку я уже использую их для вставки пользовательских заголовков). Я хотел бы заблокировать все почтовые запросы к приложению.