Как исправить ошибку «CORS Policy», когда я пытался получить доступ к AWS lambda с помощью HTTP-запроса? - PullRequest
0 голосов
/ 07 мая 2019

Я наконец решил попробовать AWS lambda, чтобы создать классную функцию без сервера.Для первого я решил создать простую функцию отправки почты.Я планирую отправлять ему данные по почте, тогда моя функция будет использовать их для отправки почты.Полезно знать, что моя лямбда должна быть доступна с моего веб-сайта, я планирую вызывать ее из моей логики внешнего интерфейса.

К сожалению, я сталкиваюсь с проблемой политики CORS, когда пытаюсь запустить свою лямбда-функциюс моего сайта.Тем не менее, все работает нормально, когда я запускаю его из CLI, с помощью cURL.

Я создал свою лямбда-функцию с помощью шаблона API-Gateway.Я разработчик внешнего интерфейса, я знаю некоторые традиционные сервисы AWS, но я впервые попытался использовать лямбда-функцию, поэтому я полагаю, что у меня проблема с моей конфигурацией.

Я хотел бы поделиться сВы моя текущая лямбда-конфигурация.Вы можете найти его ниже:

Здесь мой лямбда-дизайн Here my lambda design

Здесь моя конфигурация API-шлюза API-Gateway configuration

Здесь мои ответы шлюза Gateway Responses

Кроме того, ниже вы можете найти мой лямбда-код и ошибку, возникающую каждый раз, когда я пытался вызвать свою лямбду.

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);
  }
};

Доступ к XMLHttpRequest в «XXX» из источника «YYY» был заблокирован политикой CORS: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin».

Я пытался понять, почему я продолжаю сталкиваться с этой проблемой без успеха.Я полагаю, что у меня проблема с настройкой API-шлюза, но я не смог ее найти.

У вас есть идея?

Спасибо!

1 Ответ

1 голос
/ 07 мая 2019
...