2017-09-30 5 views
0

Goクライアントから私のノードに接続する際に問題があります。私のプロキシされたelasticsearchノードに接続します

基本認証を設定するnginxプロキシの背後にelasticsearchがあります。 メモリ内のES以外のすべての設定はデフォルトです。それは、このクライアントを経由して素晴らしい作品ではなく、ブラウザを介して

https://github.com/olivere/elastic

私は、ドキュメントを読んで、それが接続するために/ _nodes/HTTP APIを使用していますと言います。

{ 
    "_nodes" : { 
    "total" : 1, 
    "successful" : 1, 
    "failed" : 0 
    }, 
    "cluster_name" : "elasticsearch", 
    "nodes" : { 
    "u6TqFjAvRBa3_4FndfKh4w" : { 
     "name" : "u6TqFjA", 
     "transport_address" : "127.0.0.1:9300", 
     "host" : "127.0.0.1", 
     "ip" : "127.0.0.1", 
     "version" : "5.6.2", 
     "build_hash" : "57e20f3", 
     "roles" : [ 
     "master", 
     "data", 
     "ingest" 
     ], 
     "http" : { 
     "bound_address" : [ 
      "[::1]:9200", 
      "127.0.0.1:9200" 
     ], 
     "publish_address" : "127.0.0.1:9200", 
     "max_content_length_in_bytes" : 104857600 
     } 
    } 
    } 
} 

私は(自分のドメインがes01.somedomainのようなものです、私は私の実際のIP /ドメインにIPアドレスを設定する必要が推測している:そのAPIからの応答は次のようになりますので、私は何か間違ったことをしたところさて、これはおそらくです.com)

私は正しくクライアントを接続できるようにelastisearchを設定しますか?

nginxのための私の設定ファイルは次のようになり:https://www.elastic.co/blog/playing-http-tricks-nginx

編集を:「私は、クライアントのためにオプションでelastic.SetSniff(false)を設定することで、一時的な解決策を見つけたが、私はそれは私ができることを意味だと思いますESを水平方向にスケールする。だから、まだ代替案を探しています。あなたはESのノードをプロキシnginxのサーバーのパブリックに到達可能なアドレスとポートに設定してくださいHTTP options、特にhttp.publish_hosthttp.publish_port、探している

答えて

1

トランスポートのためにElasticsearchが127.0.0.1:9300でリッスンすると、他のホストにノードを持つクラスタを形成できなくなります。トランスポートはtransport optionsと同様に設定できます。