如何在API Gateway和React应用之间的AWS中启用CORS策略?

时间:2019-07-18 17:13:36

标签: reactjs amazon-web-services cors

我想通过AWS上的lambda函数发送电子邮件。我还使用了API网关。我在那里启用了cors并使用lambda函数以及在react app中发送了标头。

Lambda函数

var response = {
        statusCode: 200,
        headers: {
            'Access-Control-Expose-Headers': 'Access-Control-Allow-Origin',
            'Access-Control-Allow-Credentials': true,
            'Content-Type': 'application/json',
            'Access-Control-Allow-Origin': '*',
        }
   };

我的React APP

const awsEndpoint = 'myawsendpoint.amazonaws.com'
axios.post(awsEndpoint, {
 headers: {
    'Access-Control-Expose-Headers': 'Access-Control-Allow-Origin',
    'Access-Control-Allow-Credentials': true,
    'Content-Type': 'application/json',
    'Access-Control-Allow-Origin': '*',
 },
 formEmail,
 formSubject,
 formMessage

})

在控制台中,我收到以下错误消息 chrome-console-error

1 个答案:

答案 0 :(得分:0)

要解决此问题,您需要在 AWS API Gateway 控制台中更新您的 CORS 策略(针对每个路由、GET、DELETE、OPTIONS 等)。我会阅读这篇很棒的 Medium 文章,里面有截图和 cors 的详细解释

解决方案:https://codeburst.io/react-js-api-calls-to-aws-lambda-api-gateway-and-dealing-with-cors-89fb897eb04d