我只是试图在API网关中设置一个自定义域。 我有ACM证书“* .mysite.com.au”,目前正在使用“beta.mysite.com.au”通过CloudFront服务静态S3网站。 我希望使用此证书为“api.mysite.com.au”创build一个自定义域。
但是,我在AWS API Gateway控制台中收到以下错误消息:
您提供的域名已经与现有的CloudFront分配相关联。 从现有CloudFront分配中删除域名或使用其他域名。 如果您拥有此域名,并且没有在现有CloudFront分配中使用该名称,请与支持部门联系。
我目前没有在CloudFront发行版中使用“api.mysite.com.au”。 所以我迷路了 有没有人遇到过这个问题? 如果是的话,我该怎么解决呢?
提前致谢,
Strainy
有三种,也许有四种可能性:
事实上,您已将此域configuration为CloudFront中的替代域名 – 在此AWS账户或其他账户中,您已将其忘记,或
有人在CloudFront发行版上意外或有意地configuration了此域,或者
您已经在API网关中configuration了此项,但是在另一个AWS区域或
这是API Gateway和CloudFront之间集成的一个漏洞。
要排除故障:
转到CloudFront并创build一个新的分配。
尝试将此主机名设置为备用域名。
如果这样做,那么这似乎是在API网关/ CloudFront集成中的一个错误。 从该新分发的备用域名中删除主机名,等待几分钟以使分发返回到已Deployed状态,然后在API网关中再次尝试。 (稍后,删除分发 – 这是不需要的)。
但是,我将假设上述不起作用。 您应该从CloudFront, CNAMEAlreadyExists得到一个错误。 (这不是一个真正的CNAME,但这是他们不幸的称呼它)。
因此,请按照正式stream程来certificate您的域名的所有权和控制权,并将其与新的CloudFront分配关联。
这个过程应该从任何CloudFront发行版声明的主机名中释放出来。
完成后,从新分发的“备用域名”设置中删除此主机名,保存更改,等待它返回到“已Deployed状态,然后返回到API网关,然后重试。 (稍后删除未使用的发行版。)
这里的问题是 – 就像S3存储桶命名空间一样 – CloudFront前端Host: header命名空间是全局的。 主机名不能与多个CloudFront分配关联,包括API Gateway使用的“隐形”分配。 错误意味着你正在尝试使用的那个,出于某种原因已经是。
这应该与ACM中的通配符无关。