你好,我运行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
但是如果我像这样直接把请求放到浏览器中..我会得到正确的输出。
3条答案
按热度按时间qxgroojn1#
我已经解决了这个问题,方法是将这些行添加到我的yml中,然后重新启动ES。
qaxu7uf22#
如果你不想修改elasticsearch.yml,你可以使用这个Chrome extension来禁用CORS。
xbp102n03#
出于开发的目的,可以使用Chrome扩展Allow CORS: Access-Control-Allow-Origin,正如@Mahdi所指出的,该扩展将
(Access-Control-Allow-Origin: *)
规则添加到响应头中。