ElasticSearch:从JavaRestful服务连接到ElasticSearch服务器失败,并出现“java.net.ConnectException:连接被拒绝”

q9yhzks0  于 2023-08-03  发布在  ElasticSearch
关注(0)|答案(1)|浏览(199)

我有一个启用了安全性的ElasticSearch服务器。我有一个Java应用程序(在Tomcat中运行的Restful服务),它试图使用HTTP RestClient连接到ElasticSearch(因此ElasticSearch服务器和Java应用程序之间的版本差异不应该是一个问题)。两个示例都在Azure上的同一VPN中运行。我已经将ElasticSearch服务器的证书导入到Java应用程序示例中的JDK密钥库中,但与ElasticSearch服务器的连接失败,出现以下异常:

java.net.ConnectException: Connection refused
        at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[?:1.8.0_362]
        at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:716) ~[?:1.8.0_362]
        at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvent(DefaultConnectingIOReactor.java:171) ~[httpcore-nio-4.4.5.jar:4.4.5]
        at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvents(DefaultConnectingIOReactor.java:145) ~[httpcore-nio-4.4.5.jar:4.4.5]
        at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:348) ~[httpcore-nio-4.4.5.jar:4.4.5]
        at org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager.execute(PoolingNHttpClientConnectionManager.java:192) ~[httpasyncclient-4.1.2.jar:4.1.2]
        at org.apache.http.impl.nio.client.CloseableHttpAsyncClientBase$1.run(CloseableHttpAsyncClientBase.java:64) ~[httpasyncclient-4.1.2.jar:4.1.2]
        at java.lang.Thread.run(Thread.java:750) [?:1.8.0_362]

字符串
两个示例之间不存在网络连接问题。我通过在Java应用程序运行的同一示例上执行以下curl请求验证了这一点:

sudo curl --cacert /path/to/my/http_ca.crt -u elastic https://x.x.x.x:9200


同样的CA证书也被导入到Java密钥库中。我在测试环境中有一个类似的设置,Java应用程序能够连接到测试ElasticSearch服务器示例。这表明代码没有任何问题。还能有什么问题

qnyhuwrf

qnyhuwrf1#

看起来你的es服务器没有监听目标示例的端口。仔细检查你的代码中的elasticsearch配置,比如主机,端口,用户名等。

相关问题