我已在9200端口的远程服务器中部署了elasticsearch,并运行了以下命令:
curl http://localhost:9200
它返回正确的响应。
但是当我在本地使用此命令时:
curl http://xxx.xxx.xxx.xx:9200
(xxx.xxx.xxx.xx是远程服务器IP),
它显示连接失败。
但是当我使用命令时:
ping xxx.xxx.xxx.xx -p 9200
,连接成功
远程:
curl http://localhost:9200
(确定)
本地:
curl http://xxx.xxx.xxx.xx:9200
(失败)
ping xxx.xxx.xxx.xx -p 9200
(确定)
答案 0 :(得分:1)
确保将设置network.host
设置为非环回地址。设置network.host: 0.0.0.0
https://www.elastic.co/guide/en/elasticsearch/reference/current/network.host.html
答案 1 :(得分:1)
我假设您network.host
中的elasticsearch.yml
设置为localhost。
您可以按照文档https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-network.html#network-interface-values中所述绑定到多个主机。因此,在您的情况下,可能是:
network.host
- _local_
- _site_
然后您应该能够从本地网络和该计算机本身以localhost
的身份访问ES