lf2*_*215 2 cname amazon-cloudfront amazon-route53
我试图将一个子域指向一个新的发行版。我有两个帐户:legacy,new。
在传统的帐户拥有这些资源:
foo.com,具有:
a.foo.com->xyz.cloudfront.netxyz.cloudfront.net:
a.foo.coma.foo.com在新的帐户拥有这些资源:
qrs.cloudfront.net我希望最终设置是a.foo.comCNAME 到qrs.cloudfront.net. (我不明白为什么 CloudFront 发行版需要知道 CNAME 的内容,这可能是我不理解下面错误的部分原因。)
所以我正在关注这些官方文档。我正在尝试通过*.foo.com在新的 CloudFront 分配上设置为备用域名来执行第 3 步。
但我收到以下错误:
com.amazonaws.services.cloudfront.model.CNAMEAlreadyExistsException:您提供的一个或多个 CNAME 已经与不同的资源相关联。(服务:AmazonCloudFront;状态代码:409;错误代码:CNAMEAlreadyExists;)
您所遵循的说明用于将子域迁移到同一帐户内的不同分配。
如果备用域名已存在于另一个 CloudFront 分配中,则您无法向 CloudFront 分配添加备用域名,即使您的 AWS 账户拥有另一个分配也是如此。
但是,您可以添加通配符备用域名,例如 *.example.com,其中包括(重叠)非通配符备用域名,例如 www.example.com。重叠的域名可以在同一个分配中,也可以在不同的分配中,只要这两个分配都是使用同一个 AWS 账户创建的。 (强调)
不可能在多个帐户之间存在通配符歧义,而您尝试执行的操作将设置这样的条件。它不受支持,因为它是一个安全漏洞。
我不明白为什么 Cloudfront 发行版需要知道 CNAME 的内容,这可能是我不理解下面错误的部分原因。
HTTP 和 DNS 以这样一种方式交互,目标服务器不知道将浏览器引导到它所连接的服务器地址的 DNS 解析路径。Host当使用 HTTPS 时,服务器只能通过 HTTP标头和 SNI 字段的值识别浏览器正在请求的站点——dzczcexample.cloudfront.net中间主机名在此过程中丢失。备用域名配置设置(不幸且不准确,由于遗留原因也称为 CNAME)是 CloudFront(一个庞大的全球分布式系统)用于确定应处理请求的特定分配,因此备用域名可以仅foo.example.com针对所有 CloudFront 中的一个分配设置为。
如上所述,*.example.com只能在与 相同帐户内的 CloudFront 分配上设置foo.example.com,因为否则会造成域劫持漏洞。
解决方法有点微妙,但可以完成。
Deployed状态。Host上面提到的标头/SNI 映射,流量实际上仍将由旧发行版处理……但是在继续之前需要更改此设置。您将需要设置两个测试分布和一个虚拟子域(可能完全在不同的域中)并完成这些步骤以熟悉该过程。当我之前完成此过程时,由此产生的中断是短暂的,因为您不是在创建新的发行版(这需要一些时间),而只是更改一个稳定发行版的属性,然后更改另一个。
| 归档时间: |
|
| 查看次数: |
1346 次 |
| 最近记录: |