【问题标题】:How to fix "CORS Policy" error when I tried to access AWS lambda with HTTP request?当我尝试使用 HTTP 请求访问 AWS lambda 时,如何修复“CORS 策略”错误?
【发布时间】:2019-05-08 03:09:30
【问题描述】:

我最终决定尝试 AWS lambda 来创建很酷的无服务器功能。对于我的第一个,我决定创建一个发送邮件的简单函数。我计划能够向它发送邮件数据,然后我的功能将使用它们来发送邮件。很高兴知道,我的 lambda 必须可以从我的网站访问,我打算从我的前端逻辑中调用它。

很遗憾,当我尝试从我的网站触发我的 lambda 函数时遇到了 CORS 政策问题。但是,当我使用 cURL 从 CLI 启动它时,一切正常。

我使用 API-Gateway 样板创建了我的 lambda 函数。我是前端开发人员,我知道一些传统的 AWS 服务,但我第一次尝试使用 lambda 函数,所以我想我的配置有问题。

我想与您分享我当前的 lambda 配置。你可以在下面找到它:

这是我的 lambda 设计

这是我的 API-Gateway 配置

这是我的网关响应

此外,您可以在下面找到我的 lambda 代码以及每次我尝试调用我的 lambda 时遇到的错误。

const getRes = (status, body) => {
  return JSON.stringify({
    statusCode: status,
    headers: {
      "Content-Type": "text/plain",
      "Access-Control-Allow-Origin" : "*"
    },
    body,
  });
};

exports.handler = async (event, context, callback) => {
  if (event.body !== null && event.body !== undefined) {
    /*
    ** SEND MAIL WITH BODY PARAMS
    */
    const response = getRes(200, 'Mail sent');
    callback(null, response);
  } else {
    const response = getRes(500, 'Params missed');
    callback(null, response);
  }
};

CORS 策略已阻止从源“YYY”访问“XXX”处的 XMLHttpRequest:请求的资源上不存在“Access-Control-Allow-Origin”标头。

我试图了解为什么我继续遇到此问题而没有成功。我想我的 API-Gateway 配置有问题,但我找不到。

你有什么想法吗?

谢谢!

【问题讨论】:

    标签: amazon-web-services aws-lambda serverless aws-serverless


    【解决方案1】:
    猜你喜欢
    • 2020-07-26
    • 2023-04-06
    • 2020-01-19
    • 1970-01-01
    • 2020-03-09
    • 1970-01-01
    • 2018-02-11
    • 2022-12-11
    • 2015-10-01
    相关资源
    最近更新 更多