对于 S3 站点,如何配置 S3、Route53 和 Cloudfront 始终使用根域
For S3 site, how to configure S3, Route53, and Cloudfront to always use the root domain
如何使用 Route53 配置启用 Cloudfront 的 S3 站点以始终使用 root/naked 域?
例如,一个名为 example.com 的域。首先,我知道需要创建两个存储桶,www.example.com 和 example.com。除此之外,使用 Cloudfront 和 Route53 时会变得棘手。
想通了:
S3
- 将您网站的内容放入存储桶 example.com。注意端点 URL。就我而言,它类似于 example.com.s3-website-us-east-1.amazonaws.com.
- 在 example.com 存储桶的属性中,设置“启用网络托管”
- 在 www.example.com 存储桶的属性中,设置“将所有请求重定向到另一个主机名”和将所有请求重定向到 设置为 example.com
CloudFront
创建 CloudFront 分配源:example.com.s3-website-us-east-1.amazonaws.com(注意,使用 CloudFront 时,选择列表中的默认源选项显示为 example.com.s3.amazonaws.com,但它应该是 example.com.s3-website-us-east-1.amazonaws.com。前者是美国标准,后者是美国东部,应该可以,但我 运行 成问题)。
Route53
对于 example.com 托管区域,创建两个 DNS 记录(如果区域例如在 Route53 上,则应该已经有 NS 和 SOA 记录):
1
- 类型:A
- 名称:(空白)-(因此 root/naked 域,example.com)
- 别名:是
- 别名目标:'some cloudfront id'.cloudfront.net.
2
- 类型:CNAME
- 名称:www(因此 www.example.com)
- 别名:无
- 值:example.com.s3-website-us-east-1.amazonaws.com
如何使用 Route53 配置启用 Cloudfront 的 S3 站点以始终使用 root/naked 域?
例如,一个名为 example.com 的域。首先,我知道需要创建两个存储桶,www.example.com 和 example.com。除此之外,使用 Cloudfront 和 Route53 时会变得棘手。
想通了:
S3
- 将您网站的内容放入存储桶 example.com。注意端点 URL。就我而言,它类似于 example.com.s3-website-us-east-1.amazonaws.com.
- 在 example.com 存储桶的属性中,设置“启用网络托管”
- 在 www.example.com 存储桶的属性中,设置“将所有请求重定向到另一个主机名”和将所有请求重定向到 设置为 example.com
CloudFront
创建 CloudFront 分配源:example.com.s3-website-us-east-1.amazonaws.com(注意,使用 CloudFront 时,选择列表中的默认源选项显示为 example.com.s3.amazonaws.com,但它应该是 example.com.s3-website-us-east-1.amazonaws.com。前者是美国标准,后者是美国东部,应该可以,但我 运行 成问题)。
Route53
对于 example.com 托管区域,创建两个 DNS 记录(如果区域例如在 Route53 上,则应该已经有 NS 和 SOA 记录):
1
- 类型:A
- 名称:(空白)-(因此 root/naked 域,example.com)
- 别名:是
- 别名目标:'some cloudfront id'.cloudfront.net.
2
- 类型:CNAME
- 名称:www(因此 www.example.com)
- 别名:无
- 值:example.com.s3-website-us-east-1.amazonaws.com