Как сделать Cross-Origin-запрос от хостинга Firebase до функции AWS Lambda - PullRequest
0 голосов
/ 09 апреля 2019

простите меня, я новичок в webdev.

У меня есть простая одностраничная веб-страница, размещенная на хостинге Firebase, которая получает некоторую информацию от лямбда-функции aws (я не использовал облако Google, потому что это не так)я не могу делать исходящие запросы бесплатно.

Лямбда-функция не принимает никаких входных данных.Думайте об этом как о генераторе случайных чисел.

Вот как клиент запрашивает:

$.ajax({
          url: "thatAWSLambdaURL",
          crossDomain: true,
          xhrFields: {
              withCredentials: true
          },
          method: 'GET',
          success: function(data){
            console.log('succes: '+data);
          }
        });

, но вместо этого я получаю эту ошибку в журнале:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://someAWSLambdaUrl.amazonaws.com/default/someurl. (Reason: CORS header 'Access-Control-Allow-Origin' missing).[Learn More]

Я даже настроил шлюз API моей лямбда-функции на Enabled CORs с Access-Control-Allow-Header, установленным как 'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token' и Access-Control-Allow-Origin, установленным как "*".

Если я запрашиваю лямбда-функциюлокально из Firefox или простого скрипта на python это работает безупречно.Это происходит только когда я запрашиваю с веб-страницы.Как это исправить?

1 Ответ

0 голосов
/ 09 апреля 2019

После прочтения лямбда-документов на cors, найденных здесь: https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html

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

...