AWS API Gateway - CORS + POST not working

前端 未结 9 1746
一生所求
一生所求 2020-12-01 10:34

CORS is really driving me crazy and I\'m really out of ideas as of what to try to make it work.

I have created a simple APIG Api with 1 resource cal

相关标签:
9条回答
  • 2020-12-01 11:21

    I had a similar issue, but with lambda proxy integration:

    • CORS activated on AWS API Gateway using the browser

    • lambda-proxy integration activated

    When using the lambda proxy integration, you can return custom headers from inside the code of the lambda:

            var result = {
            statusCode: data.statusCode | 200,
            headers: {
              "Access-Control-Allow-Origin": "*"
            },
            body: JSON.stringify(responseBody)
        };
        callback(null, result);
    

    This way you get the CORS header sent. I think there might be a better way to get it to work with the lambda proxy integration without coupling the CORS inside the code of the lambda, please let me know if you know.

    0 讨论(0)
  • 2020-12-01 11:21

    I was also stuck in this error, and after digging, I found that in non 2XX responses, the API was not giving Access-Control-Allow-Origin header in the response. Hence, while the OPTION method and successful (2XX) responses had this header, the 4XX and 5XX did not. One can also confirm this using PostMan and inspecting the headers of the bad response.

    After tweaking with configuration I made sure to return that header in all responses.

    0 讨论(0)
  • 2020-12-01 11:21

    Sometimes CORS error occurs if the lambda time out is small.

    0 讨论(0)
提交回复
热议问题