Access-Control-Allow-Origin не работает - PullRequest
0 голосов
/ 20 февраля 2019

Я часами пытался разрешить клиенту angularjs (localhost: 5000) доступ к ресурсам сервера python с помощью flask (localhost: 5001), но я продолжаю получать одно и то же сообщение об ошибке «Cross-Origin Request Blocked: Та же политика происхождения запрещает чтение удаленного ресурса на http://localhost:5001/api. (причина: ожидаемое «истина» в заголовке CORS «Access-Control-Allow-Credentials»).

Пока я пробовалдо:

Разрешить CORS через flask_cors с использованием

from flask_cors allow CORS
api = Blueprint('api', __name__)
CORS(api, resources={"/api/*: {"origins": "*"}})

Использовать угловое http-proxy-middleware, оба с

server.middleware = proxy('/api', {target: 'http://localhost:5001', changeOrigin:true});

и

server.middleware = proxy('/api', {target: 'http://localhost:5001', changeOrigin:true, onProxyRes: function(proxyRes, req, res){proxyRes.headers['Access-Control-Allow-Origin']='*';}});

Поле Access-Control-Allow-Origin в заголовке ответа: «http://localhost:5000", а не» http://localhost:5001",, что (если я правильно понимаю), что мне нужно. Любые идеи?

1 Ответ

0 голосов
/ 22 февраля 2019

У меня была такая же проблема, и я исправил ее с помощью декоратора CORS @cross_origin(), используя параметр supports_credentials=True (обратите внимание, что нельзя одновременно использовать origin='*' и support_credentials=True)

Больше информации можно найти здесь

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