一尘不染

ES不监听外部请求

elasticsearch

我有一个运行Elasticsearch的e2 ubuntu实例,尽管它在本地运行良好,但无法使用Windows PC进行连接curl http://ipaddress:9200/(错误是“无法连接到远程服务器”)。

我已经在相同的ubuntu实例上设置了Apache,并curl http://ipaddress:80/在同一台Windows计算机上工作,并且我可以毫无问题地ping该实例。我的Amazon安全组允许tcp从所有IP地址访问所有端口。

我认为这是一个ES配置问题,尽管我添加到elasticsearch.yml的唯一几行是:

http.cors.enabled: true
http.cors.allow-origin: "*"

我在运行netstat时注意到一些奇怪的情况,端口9200和9300(ES端口)的本地地址中有一个1-这会阻止我的外部请求,如果是的话,如何更改此请求?

   ubuntu@ESServer$ netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0    448 (AWS PRIVATE IP):22     (MY IP):63572           ESTABLISHED
tcp6       0      0 :::22                   :::*                    LISTEN
tcp6       0      0 ::1:9200                :::*                    LISTEN
tcp6       0      0 127.0.0.1:9200          :::*                    LISTEN
tcp6       0      0 :::80                   :::*                    LISTEN
tcp6       0      0 ::1:9300                :::*                    LISTEN
tcp6       0      0 127.0.0.1:9300          :::*                    LISTEN

阅读 269

收藏
2020-06-22

共1个答案

一尘不染

看来您的elasticsearch进程已绑定到localhost。尝试像这样运行它:

bin/elasticsearch --network.host _non_loopback_

从2.0开始,elasticsearch绑定到本地主机。因此,您将无法访问它。

这篇博客文章解释了这种变化背后的原因

2020-06-22