AWS API Gateway自定义域名返回{"message":"Not Found"}问题求助
排查API Gateway自定义域名返回{"message":"Not Found"}的方向
验证Route53记录配置
- 确认A别名记录指向的是API Gateway生成的自定义域名目标端点,而非默认API端点
- 用
dig或nslookup工具检查自定义域名解析结果,确认返回的IP与自定义域名目标端点的IP一致 - 若开启了Route53健康检查,确认健康检查规则配置正确,避免记录因健康检查失败被自动下线
核对API映射配置细节
- 确认API映射的阶段是
$default(注意美元符号前缀+小写default,无拼写错误) - 路径留空时,确保HTTP API的
$default阶段没有配置路径前缀,且该阶段的路由能匹配根路径请求 - 检查API映射关联的API ID是否正确,避免误选其他API
- 确认API映射的阶段是
确认SSL证书有效性与匹配度
- 证书的域名覆盖范围需包含你的自定义域名(单域名证书需完全匹配,泛域名证书需符合格式)
- 证书状态为「已验证」且未过期
- 自定义域名配置中选择的证书是正确的目标证书
检查HTTP API的$default阶段配置
- 确认
$default阶段已部署,且路由配置正确:若指向CloudFront URL,需确保路由匹配根路径(/)或全局默认路由($default) - 直接访问
https://{api-id}.execute-api.{region}.amazonaws.com/$default验证阶段功能是否正常 - 确认API端点类型为Regional,与自定义域名的端点类型保持一致
- 确认
查看API Gateway日志排查
- 开启API Gateway的访问日志,通过CloudWatch查看请求详情:确认请求是否到达API Gateway、路由匹配状态、具体错误原因
- 检查日志中是否有路由不匹配、阶段错误等导致404的具体信息
排查生效延迟与缓存问题
- 自定义域名和Route53记录配置可能存在10-15分钟的生效延迟,等待后再测试
- 清除本地DNS缓存(Windows执行
ipconfig /flushdns,Mac执行sudo dscacheutil -flushcache),或更换网络/设备测试 - 使用浏览器隐私模式访问,避免缓存影响
内容的提问来源于stack exchange,提问作者Monis
相关产品推荐
相关产品推荐

