AWS Amplify为两个应用配置同根域不同子域名时提示关联失败
报错根因
这个报错完全是Amplify域名关联的强制校验逻辑导致的:同一个注册根域名(比如你的test.com)同一时间只能作为主域名挂载在一个Amplify应用的域名配置中。你现在在第二个应用里走绑定流程的时候,哪怕实际目的只是配app2.test.com子域名,只要提交的关联请求涉及的根域已经被其他应用挂载,系统会直接拦截,弹出“域名已与其他应用存在关联”的报错。
正确配置流程
- 第一步:返回已经绑定了
test.com根域的第一个Amplify应用,进入「域名管理」配置页,找到已关联的test.com域名条目 - 第二步:在该根域的子域名配置列表里,新增一条
app2.test.com的子域名记录 - 第三步:给这条新增的子域名配置流量目标:选择跨应用关联选项,把访问流量指向你的第二个独立staging应用,不要选当前第一个应用的内置分支
- 第四步:等Amplify自动生成对应的DNS解析要求(一般是CNAME记录值),把这些记录同步到托管
test.com的DNS服务商的解析列表,等全球解析生效就可以正常访问了,整个过程完全不影响已经配好的app1.test.com的原有访问逻辑
踩过的坑提醒
- 别尝试在第二个Amplify应用的域名配置里直接单独输入
app2.test.com创建关联:这套系统的校验逻辑根本不区分你输的是子域名还是根域名,只要检测到这个域名所属的根域已经被其他应用挂载、当前应用没有根域的配置权限,就会直接触发报错,白折腾半天也通不过 - 没有特殊需求别随便把根域的挂载资格从第一个应用转移到第二个应用:这个操作需要先在第一个应用里完全删掉
test.com的域名关联,等删除完全生效后,再在第二个应用里重新创建根域关联,过程中原有app1.test.com的访问会出现临时中断,完全没必要
内容的提问来源于stack exchange,提问作者newbie
相关产品推荐
相关产品推荐

