2014-01-08 2 views
2

나는 es_client (java/dropwizard) 응용 프로그램이 있습니다. 일반 텍스트 연결보다 탄력성있는 검색 기능을 제공합니다. 나는 es client을 위해 SSL을 설정 https://github.com/sonian/elasticsearch-jetty의 지시를 따랐다.SSL Elasticsearch는

INFO [2014-01-08 23:02:14,814] org.elasticsearch.client.transport: [Karolina Dean] failed to get node info for [#transport#-1][inet[localhost/127.0.0.1:9443]], disconnecting... ! org.elasticsearch.transport.NodeDisconnectedException: [][inet[localhost/127.0.0.1:9443]][cluster/nodes/info] disconnected

어떻게이 일을 알아내는 대해 갈 수있다 : 나는 시작할 때 그러나 내 es_client 다음과 같은 5 초마다보고? 그건 당신이 자신을 추가해야 뭔가 될 수 있도록

덕분에, 기본적으로 마치에이

+0

사실, SSL을 사용하여 Java API를 통해 eleasticsearch 얘기 할 수 있을까요? "jetty plugin"방식은 사물의 REST API 측면 만 처리하는 것 같습니다. – Maciek

답변

2

Elasticsearch는 자사의 전송 계층에서 SSL을 지원하지 않습니다. 이를 위해서는 서버와 클라이언트 측 모두에 새로운 코드가 필요합니다.

다행히도 Elasticsearch is very modular 소스 코드이므로 구성 파일에 한 줄만 추가하면 전송 구현을 쉽게 스왑 할 수 있습니다.

불행히도 Elasticsearch는 많은 개인 필드와 메소드를 사용하여 모든 기능을 다시 구현하거나 많은 양의 코드를 복사하거나 붙여 넣지 않고 기존 기능에 새로운 기능을 추가하는 것을 어렵게 만듭니다. 또한, Elasticsearch는 호환의 Netty 버전 자신에서 필요한 SSL + 헬퍼 클래스를 포함해야 함을 의미하는, 그들이 사용하지 않는 클래스를 자신의 Netty -includes 음영 및 건너 뜁니다.

Found, a hosted Elasticsearch providerFound, a hosted Elasticsearch provider Java 전송 클라이언트를 사용하여 SSL을 완벽하게 지원하는 브라우저는 this open source plugin을 사용합니다.이 스크립트는 직접 구현해야 할 영감으로 사용할 수 있습니다.

또 다른 접근 방식 대신 Elasticsearch 자체에 아무것도 당신의 기계 사이의 SSL-특정 부분 알아서 해주 마 stunnel을 사용하는 것입니다.

+0

elasticsearch-transport-module은 더 이상 사용되지 않습니다. – slm

관련 문제