首页 文章

默认响应标头:具有代理集成的AWS API网关

提问于
浏览
2

我们有一个Angular SPA前端,它通过AWS API网关与Lambda函数中托管的.Net Web API进行通信 . 此配置要求我们的API网关使用与Lambda的代理整合 .

一般来说,这很有效 . 我们在API中启用了CORS,正常的请求和响应按预期流动 .

但是,当发生破坏API网关或.Net Lambda Wrapper的事件时,例如超过网关(不可配置)30秒超时或超过Lambda的最大响应大小,来自API网关的响应消息不包含CORS头 . 因此,无论实际错误如何,我们的前端都会记录CORS错误 .

有没有办法配置API网关始终返回默认的CORS标头?

请注意,这发生在我们的代码之外 - 我无法在C#lambda函数中做任何事情,因为这与在该级别之上发生的错误有关 .

1 回答

  • 1

    是的,您可以在AWS API网关级别设置它

    • 登录AWS控制台,打开API网关服务,选择所需的网关 .

    • 在左侧面板上,选择"Gateway Responses"(这将显示在所选网关下)

    • 现在在右侧,选择"Default 5XX"

    • 添加Cors的默认标头,如Access-Control-Allow-Headers,Access-Control-Allow-Methods,Access-Control-Allow-Origin

    • 保存更改并重新部署网关 .

    Please refer this image to navigate to the desired section

    希望能帮助到你 .

相关问题