use elasticsearch client rest API(for connection)

나는 elasticsearch 6.4.2, 수색 가드 6.4.2 커뮤니티 버전을 사용합니다.

나는 봄 부팅을 사용하여 데이터를 쿼리하는 함수를 만들고있다.

x-pack 보안을 테스트 할 때 아래에 표시된 것처럼 저수준 나머지 API를 사용하여 사용자 인증이 수행되었습니다.

credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(“admin”, “admin”));

``

나는 아래 링크를 시도했지만 작동하지 않았다.

https://search-guard.com/searchguard-elasicsearch-transport-clients/

compile group: 'com.floragunn', name: 'search-guard-ssl', version: '6.4.2-25.5'

compile group: ‘org.elasticsearch.client’, name: ‘transport’, version: ‘6.4.2’

compile ‘org.elasticsearch.client:elasticsearch-rest-high-level-client:6.4.2’

``

TransportClient tc = null;
try {
Settings.Builder settingsBuilder = Settings.builder()
.put(SSLConfigConstants.SEARCHGUARD_SSL_TRANSPORT_KEYSTORE_FILEPATH, “esnode-key.pem”)
.put(SSLConfigConstants.SEARCHGUARD_SSL_TRANSPORT_TRUSTSTORE_FILEPATH, “root-ca.pem”)
.put(“search.gard.ssl.transport.enforce_hostname_verification”, “false”);
Settings settings = settingsBuilder.build();

tc = new PreBuiltTransportClient(settings, SearchGuardPlugin.class)
.addTransportAddress(new TransportAddress(new InetSocketAddress(“my.i.p”, 9300)));
// InetAddress.getByName(“localhost”), 9300));
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}

``

"SearchGuardPlugin"은 빨간색 선을 표시합니다.

또한 컬에 액세스 할 때 -k 옵션을 사용해야합니다.

HttpURLConnection을 통해 연결할 때 사용자를 인증하려면 어떻게해야합니까?