Доступ к Elastic через выбрасывание браузера ПАРАМЕТРЫ 401 Ошибка

Я использую Elastic 6.6 и node-http-proxy в качестве прокси. Мое веб-приложение извлекает информацию из Elastic REST-API. Но я борюсь с базовым GET-запросом:

var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://proxy-elastic:1234', true);
xhr.withCredentials = true;
xhr.setRequestHeader('Authorization', 'Basic ' + btoa('user:pw'));
xhr.send();

Мой браузер ответил с этими ошибками:

OPTIONS https://proxy-elastic:1234 401 (Unauthorized)  
Access to XMLHttpRequest at 'https://proxy-elastic:1234' from origin 'https://mywebapp' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Когда я делаю это с помощью curl, это вывод:

[user@server:/home]$ curl -H "User-Agent: Mozilla" -H "Origin: https://mywebapp" -H "Authorization: Basic SOMERANDOMCHARS=" -i https://proxy-elastic:1234 --insecure
HTTP/1.1 200 OK
access-control-allow-origin: *
access-control-allow-credentials: true
content-type: application/json; charset=UTF-8
content-length: 431
connection: keep-alive
Date: Wed, 13 Feb 2019 17:58:46 GMT
{ .. payload .. }

Как вы можете видеть в ответе curl, заголовки для cors установлены. Я думаю, что проблема здесь в том, что браузер начинается с OPTION запрос, но не включает заголовки auth: почему предварительный запрос OPTIONS аутентифицированного запроса CORS работает в Chrome, но не в Firefox?

Любое предложение о том, как бороться с этой проблемой?

примечание стороны: Прежде чем мне придется перенастроить прокси, я должен убедиться, что все остальные параметры недействительны.

0 ответов

Другие вопросы по тегам