2017-06-27 9 views
0

私はelasticsearchが埋め込まれたSpring Bootアプリを持っています。 localhost:9200としてアクセスできますが、実際のIP xx.xxx.x.xx:9200では応答しません。埋め込まれたelasticsearchには外部からアクセスできません

ポートが開いていますが、問題はローカルインターフェイスだけを聞いていることです。

  • 春ブート・スターター・親1.4.1.RELEASE
  • を:私はウェブ8080

    netstat -vanp tcp | grep 8080 
    tcp46  0  0 *.8080     *.*     LISTEN  131072 131072 23002  0 
    

    のために私が使用していているように、すべて聞くことを強制する方法

    netstat -vanp tcp | grep 9200 
    tcp4  0  0 127.0.0.1.9200   *.*     LISTEN  131072 131072 31425  0 
    tcp6  0  0 ::1.9200    *.*     LISTEN  131072 131072 31425  0 
    tcp6  0  0 fe80::1%lo0.9200  *.*     LISTEN  131072 131072 31425  0 
    

  • spring-boot-starter-data-elasticsearch 1.4.1.RELEASE
  • elasticsearchバージョン2.4.0

、ここで私のアプリケーション-dev.yml

data: 
    elasticsearch: 
     cluster-name: 
     cluster-nodes: 
     properties: 
      path: 
       logs: target/elasticsearch/log 
       data: target/elasticsearch/data 
      http: 
       enabled: true 

の一部であるあなたは、少なくともの実際のIPへのすべてのホストIPS(またはにあなたの埋め込まれたElasticsearchをバインドする必要が

答えて

1

ありがとう機械)、それはあなたがlocalhostに結合しているように私には見えますので、あなたのelasticsearchを設定しているときは、このエントリを必要とする:

Settings.Builder nodeSettings = nodeBuilder().settings(); 
... 
nodeSettings.put("network.host", "0.0.0.0"); 

これはまた、BにごelasticsearchをバインドしますあなたのホストのIPアドレスにind。

+0

ありがとう、それはうまく動作します。私はあなたのアプローチを** application-dev.ymlに適用しました** 'network:host:0.0.0.0' - ここでのコメントは新しい行をサポートしていません –

+0

ええ、確かに。私はあなたがそれを埋め込んで使用していると述べたので、私はコードでそれをしました。あなたはおそらく認識していますが、5.xからelasticsearchは埋め込みモードをサポートしていません。https://www.elastic.co/blog/elasticsearch-the-server –

+0

ありがとうございます。準備されるでしょう。 –

関連する問題