angularjs 跨源请求已阻止ElasticSearch

ogq8wdun  于 2022-10-31  发布在  Angular
关注(0)|答案(3)|浏览(172)

你好,我运行Elasticsearch版本2.3,我有一个Angular 代码查询像搜索。当我运行它,我得到这个错误,即使http.cors.enabled设置为真,也与http.cors.allow-origin到/https?:\/\/localhost(:[0-9]+)?/

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://localhost:9200/elastic/_search?size=50. This can be fixed by moving the resource to the same domain or enabling CORS

我不明白出了什么问题。
我的请求标头。

User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0
Pragma: no-cache
Origin: http://127.0.0.1:8100
Host:   localhost:9200
Connection: keep-alive
Cache-Control:  no-cache
Access-Control-Request-Method:  POST
Access-Control-Request-Headers: content-type
Accept-Language:    en-US,en;q=0.5
Accept-Encoding:    gzip, deflate
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

我的控制台看起来像这样。x1c 0d1x
但是如果我像这样直接把请求放到浏览器中..我会得到正确的输出。

qxgroojn

qxgroojn1#

我已经解决了这个问题,方法是将这些行添加到我的yml中,然后重新启动ES。

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
 http.cors.allow-credentials: true
qaxu7uf2

qaxu7uf22#

如果你不想修改elasticsearch.yml,你可以使用这个Chrome extension来禁用CORS。

xbp102n0

xbp102n03#

出于开发的目的,可以使用Chrome扩展Allow CORS: Access-Control-Allow-Origin,正如@Mahdi所指出的,该扩展将(Access-Control-Allow-Origin: *)规则添加到响应头中。

相关问题