使用Java客户端连接到外部HTTPS Elasticsearch
因为我想使用Elasticsearch的Java API,所以我尝试使用Java TransportClient连接到外部Elasticsearch的REST服务器,我必须调用的URL如下所示:使用Java客户端连接到外部HTTPS Elasticsearch,java,ssl,elasticsearch,https,Java,Ssl,elasticsearch,Https,因为我想使用Elasticsearch的Java API,所以我尝试使用Java TransportClient连接到外部Elasticsearch的REST服务器,我必须调用的URL如下所示: https://ssl-secure-host/their-index/their-type/_search 显然,我首先使用keytool信任ssl-secure-host提供的证书,并生成了keystore.jks 我没有关于elasticsearch的索引、节点等的任何其他信息,我只有上面的UR
https://ssl-secure-host/their-index/their-type/_search
显然,我首先使用keytool信任ssl-secure-host提供的证书,并生成了keystore.jks
我没有关于elasticsearch的索引、节点等的任何其他信息,我只有上面的URL
这是为了建立连接而编写的TransportClient:
ImmutableSettings.Builder settings = ImmutableSettings.settingsBuilder()
.put("cluster.name", "elasticsearch")
.put("discovery.zen.ping.multicast.enabled", false)
.put("shield.user", "user:password")
.put("shield.ssl.truststore.path", "/Users/me/path/cert/keystore.jks")
.put("shield.ssl.truststore.password", "changeit")
.put("shield.transport.ssl", true);
TransportClient client = new TransportClient(settings)
.addTransportAddress(new InetSocketTransportAddress("ssl-secure-host", ?????));
是否可以以任何其他方式建立连接,或者我必须向提供商询问有关主机、端口等的更多信息
或者,我必须通过实现一个简单的REST客户机来查询其他人提供给我的Elasticsearch的索引来实现这一点吗
是否可能在elasticsearch节点的前面存在Apache HTTP服务器
非常感谢:)您可以使用JEST库。它是一个用于ElasticSearch的HTTP客户端。因此,您可以使用它代替Elasticsearch提供的传输客户端 检查此链接: