因此,我运行一项服务,用户可以在其中创建网站并获得自己的子域。因此,如果用户有网站,a-site-name
他们的子域将是a-site-name.domain.com
。有些用户希望能够拥有自己的域,而不是我域上的子域。我知道我应该能够使用 DNS 中的 CNAME 记录来执行此操作(因此sub.the-users-domain.com
解析为a-site-name.domain.com
)。但是,当我尝试执行此操作时,我从 Cloudfront 收到 403。
描述一下我的设置:
- 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 记录即可使用自己的域吗?说实话,我很困惑。