默认响应标头:带代理集成的AWS API Gateway

时间:2018-06-22 15:05:16

标签: amazon-web-services aws-lambda aws-api-gateway

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

通常,这很好。我们已在API中启用了CORS,正常的请求和响应会按预期进行。

但是,当发生某些事情使API网关或.Net Lambda包装器中断时,例如超过了网关的(不可配置的)30秒超时,或者超过了Lambda的最大响应大小,则来自API网关的响应消息不会包含CORS标头。结果,无论实际错误如何,我们的前端都会记录一个CORS错误。

是否可以通过某种方式将API网关配置为始终返回默认的CORS标头?

请注意,这是在代码之外发生的-在C#lambda函数中我无能为力,因为这与发生在该级别之上的错误有关。

1 个答案:

答案 0 :(得分:1)

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

  1. 登录到AWS控制台,打开API网关服务,选择所需的网关。
  2. 在左侧面板上,选择“网关响应”(它将出现在您选择的网关下方)
  3. 现在在右侧,选择“默认5XX”
  4. 为Cors添加默认标头,例如Access-Control-Allow-Header,Access-Control-Allow-Methods,Access-Control-Allow-Origin
  5. 保存更改并重新部署网关。

Please refer this image to navigate to the desired section

希望有帮助。