我使用带嵌入式 elasticsearch 的 logstash。我的 logstash 配置如下:
output {
tdout { debug => true debug_format => "json"}
elasticsearch {
embedded => true
cluster => "logs"
}
}
当我发出命令来查看所有打开的端口时
netstat -plunt
我得到以下信息:
第三列中的 :::* 是什么意思?这是否意味着嵌入式 elasticsearch 打开 9200、9300 和 9301 端口以供从任何地方监听?
如果是这样,我该如何限制 elasticsearch 仅从本地主机监听?
答案1
嘿,看来我找到了一个窍门,我将 elasticsearch 绑定到了本地机器,但我不得不写完整的机器 IP,而不是“127.0.0.1”或 localhost。此外,在第三列中我仍然看到
:::*
怎么了?
答案2
:::* 您说得对,可以从任何地方收听
为了仅允许从本地主机监听,您可以使用以下命令编辑 elasticsearch.yml 文件。
网络.主机:“127.0.0.1” http.主机:127.0.0.1
您还可以编辑 iptables 配置并拒绝对 (9200-9300) elasticsearch 端口的传入请求