使用自定义域名搭配S3与CloudFront遇访问故障求助
针对你遇到的www.example.com无法解析到CloudFront的问题,结合操作步骤,从以下几个方向排查:
检查CNAME记录的准确性
登录Google Domains后台,确认www.example.com的CNAME记录:- 主机名是否为
www(而非完整的www.example.com) - 目标值是否是CloudFront分发的完整域名(例如
d123456abcdef.cloudfront.net),注意不要遗漏任何字符,也不要添加多余前缀/后缀(比如https://)
可以用nslookup www.example.com或dig www.example.com命令本地验证,看返回的域名是否和CloudFront分发域名一致。
- 主机名是否为
确认CloudFront备用域名配置
进入CloudFront分发的配置页面,检查备用域名(CNAMEs)列表里是否准确添加了www.example.com,并且对应的SSL证书包含该域名(证书需在AWS证书管理器的us-east-1区域创建,CloudFront仅支持此区域的证书)。同时确认CloudFront分发的状态是已部署(配置修改后需等待部署完成,通常几分钟到几十分钟)。验证SSL证书状态
登录AWS证书管理器,检查对应证书的状态是否为已颁发,且证书的域名覆盖范围包含www.example.com(比如单域名证书或*.example.com通配符证书)。如果验证过程中出现问题,证书可能处于挂起状态,导致CloudFront无法正常关联。排查S3源配置的潜在冲突
虽然你的CloudFront原生域名可以访问,但确认源域名是S3静态网站托管的端点(格式如example-bucket.s3-website-us-east-1.amazonaws.com),而非S3 REST API端点。不过这一点不影响DNS解析,但若后续访问出现4xx错误需要关注。
另外,www.example.com使用CNAME记录是正确的选择,不需要改用A/AAAA记录(根域名example.com才需要用别名记录指向CloudFront)。
内容的提问来源于stack exchange,提问作者Felipe Centeno

