aws apigateway CORS проблема: Ответ на предполётный запрос не имеет статуса HTTP ok - PullRequest
0 голосов
/ 27 марта 2020

Мне известно, что на этой платформе много вопросов о CORS, я рассмотрел многие из них, но не смог найти такой, который решает следующую проблему на AWS apigateway.

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

Доступ к XMLHttpRequest по адресу "..." из источника "http://127.0.0.1: 8081 'заблокирован политикой CORS: Ответ чтобы предполётный запрос не прошел проверку контроля доступа: он не имеет статуса HTTP ok.

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

Что касается понимания Интернета и CORS, я полагаю, что это связано с тем, что метод OPTIONS не отправляет правильный ответ, но я не могу понять, чего не хватает.

Метод GET запускает прокси-лямбду, которая возвращает следующий ответ:

var response = {
                "isBase64Encoded": true,
                "statusCode": 200,
                "body": JSON.stringify(data.Items),
                "headers": {
                    "Access-Control-Allow-Origin": "*"
                }
            };

Я также вижу, что для ответа метода OPTIONS определено состояние 200 со следующими заголовками:

ОПЦИИ ответ интеграции

Так что у меня нет идей относительно того, что с этим делать. Буду признателен за любую помощь.

...