AWS API Gateway - 未找到资源时出现错误403

时间:2017-06-12 23:58:58

标签: aws-api-gateway swagger-ui

HTTP似乎接受403响应作为规范和正确处理对API网关设置中不存在的资源或端点的任何调用(this post )。

示例:在我的网关上调用不存在的端点将是;

  • GET - https:// {{MyGatewayDomain}} / api / v1 / blah

这将返回403 forbidden。这可能相当令人困惑和误导。

我想知道是否有人设法配置他们的API网关,以便任何对不存在的端点/资源的调用,返回我认为是404的正确响应?

提前致谢。

修改

根据bejos-aws的建议,我可以覆盖403 Missing Authentication Token的默认行为,但这不会解决我的问题,因为所有有效的403错误将返回404响应,这是不正确的。

此外,我的问题是关于403 forbidden在AWS Gateway Response列表中的默认响应中不存在{(1}}(即使它确实存在,也不会#&} 39; t帮助)。

似乎这是不可能的?

1 个答案:

答案 0 :(得分:0)

目前,这不是API网关的功能。但是,有一种解决方法。使用网关响应,您可以使用403 Missing Authentication Token覆盖404响应,并提供您想要的任何消息作为响应。

注意,这只适用于API 阶段有效的情况:

因此,如果您的API已部署到名为 v1

的阶段

https://{MyGatewayDomain}/api/v1/somepath

来电者提供错误的舞台

https://{MyGatewayDomain}/api/invalidStage/somepath

然后API仍会以403 Forbidden

回复