2017-05-31 12 views
1

elastic4s-http httpsを使用してElasticsearchに接続しようとしていますが、httpの代わりにhttpsを使用する方法が見つかりません。Elastic4s - ElasticsearchクラスタへのHTTPS接続

私は現在、使用しています:

HttpClient(ElasticsearchClientUri(config.getString("services.elasticsearch.host"), config.getInt("services.elasticsearch.port"))) 

をインスタンスに接続します。

私がログにこれを見ると、私は接続を取得するように見える:

INFO com.sksamuel.elastic4s.http.HttpClient $ - http://host:port

DEBUGのcom.sksamuelにHTTPクライアントを作成します.elastic4s.http.search.SearchImplicits $ SearchHttpExecutable $ - 検索リクエストの実行:{"クエリ":{"一致":{"ステータス": "クエリ": "リスト"}}}}

DEBUG com。 sksamuel.elastic4s.http.search.SearchImplicits $ SearchHttpExecutable $ - 弾性リクエストの実行POST:/ myindex/_search?

DEBUG com.sksamuel.elastic4s.http.search.SearchImplicits $ SearchHttpExecutable $ - {"クエリ":{"一致":{"ステータス":{"クエリ": "リスト"}}}} `` `

が、その後、私はこの取得:

java.io.IOException: Connection reset by peer 

をしても応答が返されません。

私がhttpsで仕事を得ることができる方法上の任意のアドバイスは素晴らしいことだ、感謝

答えて

1

あなたがバージョン5.4.4以上が必要です、そしてあなたは、接続文字列でSSLを有効にします。

val uri = "elasticsearch://host:port,host:port,host:port?ssl=true" 
val client = HttpClient(ElasticsearchClientUri(uri)) 

またはあなたの特定のケースでは:

val host = config.getString("services.elasticsearch.host") 
val port = config.getString("services.elasticsearch.port") 
val uri = s"elasticsearch://$host:$port?ssl=true" 
val client = HttpClient(ElasticsearchClientUri(uri)) 
+0

このセットアップで認証ユーザー/パスワードを渡す方法はありますか? – omriki

+1

最新のリリースでは、 'elasticsearch:// user:name @ host:port、host:port、host:port?ssl = true'を実行できます。 – monkjack

関連する問題