AWS API Gateway(HTTP API)其他阶段及自定义域名访问报404求助
AWS API Gateway HTTP API 阶段与自定义域名访问404问题排查
问题场景
我在AWS API Gateway创建了HTTP API,通过VPC Link和内部ALB集成:
- 使用默认端点(
https://<api-id>.execute-api.ap-southeast-2.amazonaws.com)和$default阶段URL(https://<api-id>.execute-api.ap-southeast-2.amazonaws.com/my/endpoint)访问完全正常 - 创建
dev阶段后,通过https://<api-id>.execute-api.ap-southeast-2.amazonaws.com/dev/my/endpoint访问返回HTTP 404 - 配置自定义域名并设置路径映射(即使指向
$default阶段)也无法正常访问
已尝试的操作:
- 禁用默认端点,仅允许自定义域名访问
- 删除
$default阶段,仅保留dev阶段 - 删除并重新添加自定义域名的路径映射
排查与解决方向
1. 阶段部署的路由关联问题
HTTP API的阶段不会自动关联所有路由,必须明确部署包含目标路由的API版本:
- 进入API Gateway控制台,找到目标HTTP API,切换到「Deployments」标签
- 检查
dev阶段对应的部署是否包含/my/endpoint这条路由 - 如果没有,重新创建包含该路由的部署,并关联到
dev阶段
2. 路由的阶段访问控制
检查路由的访问权限配置,确认dev阶段被允许访问:
- 进入路由详情页,查看「Stage Access」设置
- 若设置了阶段访问限制,确保
dev阶段在允许列表内
3. 自定义域名路径映射规则
HTTP API的路径映射需要注意前缀匹配逻辑:
- 如果路径映射设置为
/dev指向dev阶段,访问https://your-domain.com/dev/my/endpoint会转发到dev阶段的/my/endpoint - 如果设置为
/指向$default阶段,要确保路由路径是/my/endpoint,不要带额外前缀 - 确认自定义域名的API类型选择的是「HTTP API」,不要误选REST API
4. VPC Link与ALB日志排查
如果API Gateway配置没问题,排查后端ALB的访问日志:
- 查看ALB是否收到了
dev阶段或自定义域名的请求 - 若ALB未收到请求,说明API Gateway阶段转发有问题;若收到但返回404,检查ALB目标组和路由规则是否匹配请求路径
5. 集成路径重写规则
如果集成配置了路径重写,要确认阶段前缀是否影响转发路径:
- 进入集成详情页,查看「Path rewrite」配置
- 例如,若重写规则为
$request.path,dev阶段的/dev/my/endpoint会被转发到ALB的/dev/my/endpoint,如果ALB没有对应路由就会返回404,需要调整重写规则为$request.path.replace('/dev', '')这类逻辑
内容的提问来源于stack exchange,提问作者codegy
相关产品推荐
相关产品推荐

