- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将一个子域指向一个新的发行版。我有两个帐户:legacy、new。
legacy 帐户具有以下资源:
foo.com
,其中:
a.foo.com
-> xyz.cloudfront.net
xyz.cloudfront.net
的 Cloudfront 分发:
a.foo.com
a.foo.com
的证书新帐户具有这些资源:
qrs.cloudfront.net
的 CloudFront 分发我希望最终设置为 a.foo.com
CNAME 到 qrs.cloudfront.net
。 (我不明白为什么 CloudFront 发行版需要知道它的 CNAME 是什么,这可能是我不理解下面错误的部分原因。)
所以我正在关注 these official docs .我正在尝试通过将 *.foo.com
设置为新 CloudFront 分发版上的备用域名来执行第 3 步。
但是我得到以下错误:
com.amazonaws.services.cloudfront.model.CNAMEAlreadyExistsException: One or more of the CNAMEs you provided are already associated with a different resource. (Service: AmazonCloudFront; Status Code: 409; Error Code: CNAMEAlreadyExists;)
最佳答案
您遵循的说明用于将子域迁移到同一帐户内的不同分布。
You cannot add an alternate domain name to a CloudFront distribution if the alternate domain name already exists in another CloudFront distribution, even if your AWS account owns the other distribution.
However, you can add a wildcard alternate domain name, such as *.example.com, that includes (that overlaps with) a non-wildcard alternate domain name, such as www.example.com. Overlapping domain names can be in the same distribution or in separate distributions as long as both distributions were created by using the same AWS account. (emphasis added)
不可能在多个帐户之间存在通配符歧义,而您尝试做的就是设置这样的条件。它不受支持,因为它是一个安全漏洞。
I don't understand why the Cloudfront distribution needs to know what things CNAME to it, which is maybe part of the reason I'm not understanding the error below.
HTTP 和 DNS 的交互方式使得目标服务器不知道将浏览器引导至其连接的服务器地址的 DNS 解析路径。当使用 HTTPS 时,服务器只能通过 HTTP Host
header 和 SNI 字段的值来识别浏览器请求的站点 -- dzczcexample.cloudfront.net
中间主机名在此过程中丢失。备用域名配置设置(不幸且不准确地也称为 CNAME,因为遗留原因)是 CloudFront——一个庞大的全局分布式系统——用来确定哪个特定的分配应该处理请求,所以备用域名可以仅针对所有 CloudFront 中的一个分配设置为 foo.example.com
。
如上所述,*.example.com
只能在与 foo.example.com
相同的帐户内的 CloudFront 分配上设置,因为允许以其他方式创建域劫持漏洞。
解决方法有点微妙,但可以做到。
已部署
状态。Host
header /SNI 映射,流量实际上仍将由旧分发处理......但是在继续之前需要更改此设置。 您需要设置两个测试分布和一个虚拟子域(可能完全在不同的域中)并完成这些步骤以熟悉该过程。当我之前完成这个过程时,由此产生的中断是短暂的,因为您不是在创建一个新的分布(这需要一些时间),而是简单地更改一个稳定分布的属性,然后再更改另一个。
关于amazon-cloudfront - CNAMEAlreadyExists : pointing subdomain to distribution in new account,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52769331/
我正在尝试将一个子域指向一个新的发行版。我有两个帐户:legacy、new。 legacy 帐户具有以下资源: Route53 托管区域 foo.com,其中: CNAME a.foo.com ->
我正在尝试将一个子域指向一个新的发行版。我有两个帐户:legacy、new。 legacy 帐户具有以下资源: Route53 托管区域 foo.com,其中: CNAME a.foo.com ->
我正在尝试使用 Terraform 来设置 S3 + Cloudfront 静态站点。最初,我按照 https://alimac.io/static-websites-with-s3-and-hugo
我是一名优秀的程序员,十分优秀!