Intento obtener la API elástica usando javascript con autenticación básica, pero hay un error que muestra que la autorización del campo del encabezado de la solicitud no está permitida por acccess-control-allow-headers, ¿hay algún problema con la API de búsqueda elástica o hay un error en mi código? Ya configuré enable cors en elastic, probé curl para obtener datos elásticos con auth y funciona, ¿el código de recuperación es incorrecto?
el código de búsqueda:
fetch('http://192.168.150.220:9900/', {method:'GET', headers: {'Authorization': 'Basic ' + btoa('em_user:3md@t@2o22')}}) .then(response => response.json()) .then(json => console.log(json));
Para usar la obtención de su navegador, deberá permitir solicitudes de origen cruzado en la configuración de ElasticSearch:
http.cors.enabled : true http.cors.allow-origin: "*" http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE http.cors.allow-headers: X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization http.cors.allow-credentials: true
Fuente:
https://www.elastic.co/guide/en/elasticsearch/reference/8.2/modules-network.html https://www.elastic.co/guide/en/cloud-enterprise/current/ece-configure-cors .html