CloudFront备用域名重叠问题:自定义域名与通配符域名冲突报错
解决CloudFront的CNAMEAlreadyExistsException问题(重叠通配符域名场景)
我之前碰到过完全一样的问题,先给你理清楚报错的核心原因:
你已经有一个绑定了foo.example.com的CloudFront分发,现在尝试给另一个新分发添加*.example.com通配符域名——这时候AWS会判定冲突,因为*.example.com包含了已经被占用的foo.example.com,跨分发的重叠CNAME是不被允许的。
而你看到的AWS文档里提到的「可添加包含(即与...重叠)的通配符备用域名」,前提是这些CNAME都属于同一个CloudFront分发,跨分发的话规则就完全不同了。
给你两个可行的解决方案:
方案一:合并到同一个分发(推荐)
找到原来绑定foo.example.com的CloudFront分发,进入编辑页面,在「备用域名(CNAMEs)」里直接添加*.example.com。同一个分发内允许存在包含关系的CNAME,AWS会自动处理路由逻辑,不会再触发报错。方案二:调整通配符范围(如果必须分开分发)
如果你确实需要两个独立的CloudFront分发,那得修改第二个分发的CNAME,避免和已存在的foo.example.com重叠。比如改成*.sub.example.com或者其他不覆盖已有域名的通配符格式。
另外补充个小细节:如果后续你想把foo.example.com从原来的分发移到新的通配符分发,需要先删除原分发里的foo.example.comCNAME,等待AWS生效(通常需要几分钟)后,再给新分发添加*.example.com,这样也能避开冲突。
内容的提问来源于stack exchange,提问作者nachoab
相关产品推荐
相关产品推荐

