AWS CloudFront с региональным шлюзом API и пользовательским доменом, выбрасывающим 403s - PullRequest
0 голосов
/ 25 марта 2020

В настоящее время я тестирую, как настроить CloudFront с региональным шлюзом Api, который включает в себя пользовательский домен, но столкнулся с небольшим затруднением.

Я хотел бы использовать: https://mySuperDomain.com/rest/get_stuff

Настройка:

Api Gateway

У меня есть региональный Api Gateway, который указывает на лямбду function.

  • Шлюз включает Cognito Authorizer
  • Запрос интеграции - это лямбда-прокси
  • Базовым ресурсом является "/" с методами: GET & OPTIONS
  • Сценарий "dev"
  • Имя пользовательского домена и ACM установлены на "mySuperDomain.com"
  • Конфигурация также Региональная

Прямой вызов URL работает, как и ожидалось: https://XXXXXXXX.execute-api.REGION.amazonaws.com/dev

Route53

  • A запись - это псевдоним , который указывает на распределение CloudFront
  • Базовый домен также содержит NS, SOA и MX

CloudFront * 10 54 *

Происхождение:

  • Альтернативные доменные имена: www.mySuperDomain.com & mySuperDomain.com
  • Источник и путь к домену: XXXXXXXX.execute-api.REGION.amazon aws .com / dev
  • только HTTPS

Поведения:

  • / rest / *
  • Группа происхождения установлена ​​на Происхождение
  • Только HTTPS

Здесь все становится запутанным. При включении без заголовков я получаю ошибку «Missing Authentication Token». Это сигнализирует мне, что я выбрал правильную конечную точку, но токен аутентификации не проходит через CloudFront. Однако, когда я добавляю в белый список то, что я описываю как кухонная раковина: «Авторизация, Хост, Источник, Реферер, Принять-Дата-время», я получаю 403 Запрещено при вызове: https://mySuperDomain.com/rest/get_stuff.

Чего мне не хватает для доступа к указанному URL-адресу настраиваемого домена? Спасибо заранее.

...