要实现“AWS CloudFront + 单个 S3 存储桶 + 多个子域名在 xyz.cloudfront.net 上”的解决方案,你可以按照以下步骤操作:
在 AWS 控制台创建一个 S3 存储桶,并将你的静态文件上传到该存储桶中。
在 AWS 控制台创建一个 CloudFront 分配并配置它以从 S3 存储桶中提供内容。在配置 CloudFront 时,选择“单个 S3 存储桶”作为源,并设置任何其他所需的选项。
在 DNS 管理器中,为每个子域名创建 CNAME 记录,将它们指向 CloudFront 分配的域名(例如 xyz.cloudfront.net)。
下面是一个使用 AWS CLI 创建 CloudFront 分配并配置它的示例命令:
# 创建 CloudFront 分配
aws cloudfront create-distribution --origin-domain-name your-bucket-name.s3.amazonaws.com --default-root-object index.html
# 获取刚创建的 CloudFront 分配的 ID
aws cloudfront list-distributions --query "DistributionList.Items[].Id"
# 更新 CloudFront 分配,将多个子域名绑定到分配的域名上
aws cloudfront update-distribution --id your-distribution-id --default-root-object index.html --aliases "subdomain1.example.com,subdomain2.example.com"
请将上述命令中的 your-bucket-name
替换为你的 S3 存储桶的名称,index.html
替换为你的默认根文件名,subdomain1.example.com
和 subdomain2.example.com
替换为你想要使用的子域名。
完成上述步骤后,你就可以通过访问 subdomain1.example.com
和 subdomain2.example.com
来访问 CloudFront 分配的内容。