Azure Функции: внезапная проблема с CORS (после нескольких часов разработки copaceti c) - PullRequest
0 голосов
/ 08 апреля 2020

Получение этой ошибки «Запрос на перекрестное происхождение заблокирован: та же политика происхождения запрещает чтение удаленного ресурса ...»

Но я разрабатывал с моего локального хоста: * всего несколько часов назад. Я ничего не делал с настройками приложения или настройками CORS. Теперь у меня есть шаблон, и он все еще не работает (ошибка выше).

Я извлек {app} .scm.azurewebsites.net / Env.cs html и вижу:

...
APPSETTING_WEBSITE_CORS_SUPPORT_CREDENTIALS = True
...
WEBSITE_CORS_SUPPORT_CREDENTIALS=False
...

Я не знаю, правильны ли эти переменные окружения или они изменились, поскольку мои функции действительно работали.

Ответы [ 2 ]

0 голосов
/ 08 апреля 2020

Хотя я нашел решение, возможно, имеет смысл решить эту проблему в любом случае.

const proxy = require('express-http-proxy');
const app = require('express')();

const subdomain = '';

app.use(function (req, res, next) {

  res.setHeader('Access-Control-Allow-Origin', 'http://localhost:1234');
  res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
  res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
  res.setHeader('Access-Control-Allow-Credentials', true);

  next();
});

app.use('/', proxy(`https://${subdomain}.azurewebsites.net`));

app.listen('9091', () => {
  console.log('Proxy on http://localhost:9091')
})

Затем просто введите proxyUrl в качестве параметра, если вы хотите предварительно сконфигурировать ссылки HATEOAS.

0 голосов
/ 08 апреля 2020

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

Вот ссылка на другой поток: Включить заголовок Access-Control-Allow-Credentials на Azure веб-сайте (Azure Службы приложений)

Я надеюсь, что вы найдете этот ответ полезно:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...