2016-10-30 5 views
0

同じマシンにインストールされたelasticsearchバックエンドに直接接続するAngularJS JavaScriptアプリケーションを開発しようとしています。地方開発のために、私は最新のelasticseach 5.0をインストールし、それにテストデータを入力しました。私のAngularJSアプリはlocalhostで実行中のローカルelasticsearchに接続できません:9200

$http.get('http://localhost:9200/_search')を介した単純な要求は、次のエラーで失敗しました:

{"data":null,"status":-1,"config":{"method":"GET","transformRequest":[null],"transformResponse":[null],"headers":{"Accept":"*/*,"Accept-Encoding":"gzip, deflate"},"url":"http://localhost:9200/_search"},"statusText":""} 

備考:私は設定で無効になっCORSを持っているのFirefoxを介して私のAngularJSアプリを呼び出します。私が使用する両方の環境で同じ動作:私のMacBook Proと私のWIN10 SurfacePro。

+0

より正確には、security.fileuri.strict_origin_policyをfalseに設定して、設定でテストするためにFirefoxでCORSエラーをバイパスしました。 –

答えて

0

私はdesperatenessの2時間後に解決策を見つけた; -/

単にElasticsearchレベルでCORSを無効にするが、もちろんこれは、本番環境のために行われるべきではありません。

は、検索ここベンダーのドキュメント./config/elasticsearch.yml

http.cors.enabled: true 
http.cors.allow-origin: /https?:\/\/localhost(:[0-9]+)?/ 

にこれらの2行を追加します。 https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-http.html

0

をCORSが無効になっている場合、それはあなたの問題です。異なるポート上の同じホストは異なる起点と見なされます。

関連する問題