删除旧网站后访问出现CloudFront 403错误,无法跳转至新站点
问题排查与解决步骤
1. 确认DNS解析是否生效
- 用
nslookup或者dig命令查询旧域名的解析结果,比如在终端执行:
如果返回的还是旧CloudFront或S3的地址,说明DNS缓存未更新,要么等待TTL过期(时长取决于你设置的参数,从几分钟到几小时不等),要么手动清理本地DNS缓存。dig your-old-domain.com
2. 检查Amplify的自定义域名配置
- 必须确保已经在Amplify控制台中将旧域名添加为自定义域名,且完成了SSL证书验证(Amplify会自动在AWS Certificate Manager申请证书)。如果没添加旧域名,CNAME指向新域名后,HTTPS请求会因证书不匹配报错,HTTP访问也可能出现异常。
3. 清理CloudFront残留缓存
- 即便删除了旧CloudFront分发,边缘节点可能仍留存旧缓存内容。可以尝试访问旧域名时添加随机查询参数,比如
your-old-domain.com?cache-bust=123,绕开缓存测试是否能正常访问。 - 再次确认旧CloudFront分发已彻底删除,在AWS CloudFront控制台中无该分发的记录。
4. 检查S3存储桶状态
- 就算关闭了S3存储桶的访问权限,若存储桶仍存在,可能存在残留关联(概率较低但需确认)。确保存储桶设置为私有,无任何公开访问配置;若该存储桶已无用,直接删除避免后续问题。
5. 核对Route53的记录设置
- 确认Route53中的CNAME记录配置正确:旧域名作为记录名称,值填写Amplify提供的新域名(例如
d1234567890abc.amplifyapp.com),而非旧CloudFront域名。 - 若旧域名是顶级域名(如
example.com),不能使用CNAME记录,需改用A记录结合别名(Alias)指向Amplify分发——顶级域名不支持CNAME解析。
6. 验证SSL证书覆盖范围
- 确保Amplify使用的SSL证书包含旧域名,否则HTTPS访问会出现证书不匹配错误。可在AWS Certificate Manager中查看证书的域名列表,确认旧域名在其中。
内容的提问来源于stack exchange,提问作者Pratik Mandrekar
相关产品推荐
相关产品推荐

