Итак, я запускаю сервис, где пользователь может создать сайт и получить свой собственный поддомен. Так что если у пользователя есть сайт, 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 для использования своих собственных доменов? Я запутался, если честно.