AWS Amplify绑定自定义域名时根域名返回403访问被拒错误如何解决
根域名403错误排查及解决方案
核心原因
DNS协议规定根域名(裸域名)无法直接使用CNAME记录解析,你给根域名配置CNAME会触发解析异常,导致AWS侧服务无法匹配到对应域名的请求,最终返回403。
分步修复操作
第一步:AWS侧补全根域名绑定
- 若你使用
S3静态托管+CloudFront部署:
在CloudFront控制台的「备用域名(CNAME)」配置项中添加你的根域名,同时确认绑定的SSL证书同时覆盖根域名和已用的其他子域名(可在AWS Certificate Manager中重新申请同时包含yourdomain.com和*.yourdomain.com的免费证书替换即可) - 若你使用
EC2/负载均衡直接部署:
在Web服务器(Nginx/Apache)的虚拟主机配置中新增根域名的监听规则,确保根域名请求会路由到React应用的打包文件目录
第二步:修改Bluehost DNS根域名解析规则
删除你给根域名配置的CNAME记录,替换为以下任意一种支持的解析类型:
- 优先选ANAME/ALIAS记录(Bluehost支持该类CNAME平铺解析),记录值填你AWS侧的服务域名(CloudFront分配的域名/负载均衡域名)
- 若找不到ANAME/ALIAS配置入口,直接加A记录,记录值填你AWS服务的公网IP(EC2弹性IP/负载均衡公网IP/CloudFront节点IP)
第三步:权限校验排除访问限制
- 若用S3托管:检查S3桶策略,不要配置仅允许www/其他子域名referer请求访问的规则,放行根域名的访问请求
- 若开启了AWS WAF:检查WAF规则是否拦截了根域名的请求
- 确认React应用根目录下的
index.html文件有公共读权限,Web服务器配置了默认索引文件为index.html
内容的提问来源于stack exchange,提问作者istiak ahmed
相关产品推荐
相关产品推荐

