AWS Cognito自定义域名创建失败求助:根域名解析异常
解决AWS Cognito自定义域名配置错误及CloudFront相关疑问
错误原因分析
你遇到的InvalidParameterException是因为oauth.example.com被设置成了独立托管区域,Cognito要求自定义域名必须是根域(example.com)的直接子域,而非独立托管的域名,导致系统无法正常解析根域关联关系(实际不需要给根域单独配置A记录,核心问题是域名托管结构错误)。
修复步骤
1. 调整域名托管结构
- 登录Route53控制台,删除
oauth.example.com的独立托管区域 - 后续所有DNS操作都在
example.com的公共托管区域内完成
2. 正确配置Cognito自定义域名
- 先在ACM(AWS Certificate Manager)的
us-east-1区域申请覆盖oauth.example.com的SSL证书(CloudFront要求证书必须部署在该区域) - 进入Cognito用户池控制台的「域名」选项卡,添加自定义域名
oauth.example.com,选择刚才申请的ACM证书- 提交后AWS会自动创建对应的CloudFront分发,这个过程需要5-10分钟,完成后会在Cognito域名页面显示CloudFront的域名(格式类似
d123456abcdef.cloudfront.net)
- 提交后AWS会自动创建对应的CloudFront分发,这个过程需要5-10分钟,完成后会在Cognito域名页面显示CloudFront的域名(格式类似
3. 配置Route53 DNS记录
- 在
example.com的托管区域中创建A类型别名记录,将oauth.example.com指向Cognito生成的CloudFront分发域名- 选择「别名目标」时,直接从下拉列表中选中对应的CloudFront分发即可,无需手动输入地址
关于CloudFront分发的说明
Cognito配置自定义域名时确实会自动创建CloudFront分发,但需要等待配置流程完成。如果暂时找不到,可去CloudFront控制台查看最近创建的分发,或回到Cognito域名配置页面刷新查看生成的地址。
内容的提问来源于stack exchange,提问作者vinod827
相关产品推荐
相关产品推荐

