所有配置都设置好了,却出现“403 ERROR The request could not be satisfied.”你一定非常奔溃,还好我研究了一下午终于找到了问题所在。
错误原因:使用自定义域名但未在CloudFront中配置
有时你不会直接使用CloudFront自动生成的域名,而是使用了自定义的域名,并用CNAME的方式指到CloudFront的域名。例如使用cdn.mydomain.com CNAME到d1dsf6yjfs3cnr.cloudfront.net。此外,如果使用Route53作为DNS, 也可以不采用CNAME的方式,而是采用Alias的方式。
CloudFront规定当使用自定义域名并配置该域名使用CNAME或Alias的方式指向CloudFront自动生成域名的时候,需要在CloudFront相应的“备用域名(CNAMEs)”中提供该自定义的域名,如果使用了多个自定义的域名,则提供多个自定义的域名。如果没有提供,就会出现类似下图的错误:
解决方法:
登录AWS控制台,对其中的备用域名(CNAMEs)进行设置即可: