You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Route 53别名记录指向错误CloudFront分发却生效,原因何在?

问题原因与AWS机制说明

核心原因:CloudFront基于Host头的路由逻辑+CNAME唯一性约束

你遇到的现象是由两个AWS CloudFront的核心机制共同作用导致的:

1. CloudFront的请求路由依赖HTTP Host头

当客户端通过子域名发起请求时,即使DNS解析指向的是旧的STG分发域名(比如xxx.cloudfront.net),CloudFront节点收到请求后,会优先检查HTTP请求的Host头(即你的目标子域名),然后匹配到当前绑定该Host头的CloudFront分发(也就是你后来配置的PROD分发),直接将请求路由到PROD分发的资源。

旧的STG分发已经清空了该子域名的备用域名配置,所以它不会处理带有该Host头的请求,CloudFront的全局服务会自动将请求转发到正确绑定了该子域名的PROD分发。

2. CloudFront的CNAME唯一性强制约束

AWS不允许同一个自定义域名(子域名)同时绑定到多个CloudFront分发。当你将PROD分发的备用域名设置为该子域名时,AWS内部会自动确保该子域名与旧的STG分发彻底解除关联(即使你手动清空了STG的CNAME配置,这一步其实是冗余的——AWS的唯一性检查会自动完成这个解绑操作)。

这意味着从你完成PROD分发的CNAME配置那一刻起,CloudFront的全局映射表中该子域名就只关联到PROD分发,后续所有带有该Host头的请求都会被路由到PROD。

AWS官方文档相关说明

  • CloudFront自定义域名文档明确指出:每个备用域名(CNAME)只能关联到一个CloudFront分发,如果尝试将同一个CNAME绑定到多个分发,操作会失败,且AWS会确保该CNAME只属于最后成功绑定的分发。
  • CloudFront请求处理逻辑文档提到:CloudFront会根据请求的Host头来确定对应的分发,即使请求发送到的是另一个分发的域名,只要Host头匹配到已绑定的分发,就会路由到正确的分发资源。

内容的提问来源于stack exchange,提问作者mmrn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 18:38:12