1 回答
- 最新
- 投票最多
- 评论最多
0
【以下的回答经过翻译处理】 实际上,这是预期的行为,但我不建议以这种方式继续设置。
首先,请记住,在DNS中使用CNAME记录不会改变客户端在进行HTTPS请求时使用的Host标头的值,它只是引用另一个DNS记录的一种方式,以最终获得要连接的IP地址。
DNS与返回CloudFront的内容无关 - 它只是返回附近缓存主机的有效IP地址。缓存主机提供的实际内容由请求中的Host标头的值确定。请注意,有一些例外情况,现在可以先请假定这是正确的。
当您的客户端连接到sub1.otherdomain.com时,将会发生如下过程:
- 客户端将对sub1.otherdomain.com进行DNS查询。 DNS将跟随CNAME,依次查询main.mydomain.com然后是123456789.cloudfront.net,并最终返回与123456789.cloudfront.net关联的A记录
- 客户端将连接到DNS查询返回的IP地址之一。
- 在TLS握手期间,客户端将指定请求的域名(sub1.otherdomain.com),而CloudFront将返回sub1.otherdomain.com的相关证书和内容(SNI)。
这种情况的主要问题在于,如果您删除123456789.cloudfront.net,CloudFront将不再响应该地址的DNS请求,sub1.otherdomain.com将停止工作。
我认为您可以将sub1.otherdomain.com的CNAME设置为987654321.cloudfront.net - DNS只是将名称转换为IP地址,因此我无法确定这会如何影响您的“管理和一些硬编码的链接”。
相关内容
- AWS 官方已更新 3 年前