Как разрешить пользователям сопоставлять свой собственный домен с поддоменом на моем сайте Cloudfront?

Как разрешить пользователям сопоставлять свой собственный домен с поддоменом на моем сайте Cloudfront?

Итак, я запускаю сервис, где пользователь может создать сайт и получить свой собственный поддомен. Так что если у пользователя есть сайт, a-site-nameего поддомен будет a-site-name.domain.com. Некоторые пользователи хотят иметь свои собственные домены вместо поддомена на моем домене. Я знаю, что я должен иметь возможность сделать это с помощью записи CNAME в DNS (так что sub.the-users-domain.comразрешается в a-site-name.domain.com). Однако когда я пытаюсь это сделать, я получаю 403 от Cloudfront.

Опишу свою установку:

  • Файлы обслуживаются AWS Cloudfront, используя хранилище S3 в качестве исходной точки.
  • Каждый сайт a-site-nameхранится в папке в контейнере S3 с тем же именем.
  • У меня запущена функция Lambda@Edge, так что всякий раз, когда делается запрос к a-site-name.domain.com/whatever-resource(поддоменам с подстановочными знаками), он фактически разрешается и извлекает данные из distribution-id.cloudfront.net/a-site-name/whatever-resource.

Я предполагаю, что тот факт, что я получаю 403, связан с конфигурацией моего развертывания Cloudfront или с этой функцией Lambda@Edge. Есть ли у кого-нибудь идеи, как изменить конфигурацию, чтобы люди могли просто использовать запись CNAME для использования своих собственных доменов? Я запутался, если честно.

Связанный контент