Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 使用云前端和;53号干线_Amazon Web Services_Amazon S3_Amazon Cloudfront_Amazon Route53 - Fatal编程技术网

Amazon web services 使用云前端和;53号干线

Amazon web services 使用云前端和;53号干线,amazon-web-services,amazon-s3,amazon-cloudfront,amazon-route53,Amazon Web Services,Amazon S3,Amazon Cloudfront,Amazon Route53,我最近刚把我的域名从一家主机提供商转移到亚马逊。我想使用S3存储桶来托管我的网站,我最初尝试将我的存储桶设置为domain.com和www.domain.com,但我认为我以前的托管提供商使用了这些存储桶名称,因为我无法创建它们 所以我现在正在找一份工作 -创建了一个具有唯一名称的新bucket,并将我的网站文件放入其中 -我设置了Cloud Front以从该存储桶中提取文件 -最后是一个以53号公路为主体的区域,其中的CNAMES用于domain.com和www.domain.com指向该云端

我最近刚把我的域名从一家主机提供商转移到亚马逊。我想使用S3存储桶来托管我的网站,我最初尝试将我的存储桶设置为
domain.com
www.domain.com
,但我认为我以前的托管提供商使用了这些存储桶名称,因为我无法创建它们

所以我现在正在找一份工作
-创建了一个具有唯一名称的新bucket,并将我的网站文件放入其中
-我设置了Cloud Front以从该存储桶中提取文件
-最后是一个以53号公路为主体的区域,其中的CNAMES用于
domain.com
www.domain.com
指向该云端

这就是我的问题所在。我无法将
www.domain.com
添加到云端的CNAMEs中。我得到以下错误:

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; Request ID: 19a9a141-8b15-11e6-aa8f-87e12f4b3abf)
但是,它确实接受
domain.com
。。。因此,当我访问
domain.com
时,我会得到合适的网站,但当我访问
www.domain.com
时,我会得到旧网站

我想这是因为我不能在云端添加CNAME。如何修复此错误

多谢各位

如果备用域名已存在于另一个CloudFront发行版中,即使您的AWS帐户拥有另一个发行版,您也无法向CloudFront发行版添加备用域名

这是导致您看到的错误的条件。如果您已经有另一个CloudFront发行版配置了此功能,那么显然需要删除此功能,这样才能正常工作

否则,旧的提供商可能仍然在他们的CloudFront发行版上配置了您的域——因此您需要说服他们删除它,或者您需要AWS支持来帮助您。如果该域已在CloudFront中的另一个帐户上配置,则无法仅通过您的操作来修复


AWS支持部门有一个专门的流程来处理这种情况:

以防你们中的任何人之前一直在使用Zappa和/或AWS API网关,并且发生CNAMEAReadyExistsException

只需使用AWS CLI确保您要使用的域不再列在AWS API网关中,如下所示:

aws apigateway get-domain-names
如果您发现它列在那里:

aws apigateway delete-domain-name --domain-name <your-domain>
aws apigateway删除域名--域名
这为我解决了这个问题。一块


顺便说一句,我没有找到通过Web列出或删除它的方法,只是到处都有欢迎屏幕的AWS API网关。

在我的情况下,我忘了我以前使用AWS Amplify部署了一个应用程序,使用的是我想要使用的CNAMEs

这就是为什么我在
Cloudfront
控制台上找不到Cloudfront发行版的原因。检查是否有使用所需名称的AWS Amplify应用程序