gpt4 book ai didi

elasticsearch - 从公网域名或IP访问elasticsearch

转载 作者:行者123 更新时间:2023-12-03 01:22:51 27 4
gpt4 key购买 nike

正在运行 Elasticsearch version 2.3.1在 ubuntu 服务器 16.04 上
我可以在默认主机上本地访问弹性 api,如下所示

curl -X GET 'http://localhost:9200'


{
"name" : "oxo-cluster-node",
"cluster_name" : "oxo-elastic-cluster",
"version" : {
"number" : "2.3.1",
"build_hash" : "bd980929010aef404e7cb0843e61d0665269fc39",
"build_timestamp" : "2016-04-04T12:25:05Z",
"build_snapshot" : false,
"lucene_version" : "5.5.0"
},
"tagline" : "You Know, for Search"
}

我需要能够通过我的域名或 IP 地址访问 Elasticsearch
我尝试添加以下设置 http.publish_host: my.domain文件,但服务器拒绝客户端 http 连接。我在默认端口 9200 上运行服务

当我运行时
curl -X GET 'http://my.domain:9200'

结果是
curl: (7) Failed to connect to my.domain port 9200: Connection refused

我的域 ( my.domain) 可在 Internet 和端口上公开访问 9200配置为接受来自任何地方的连接

我错过了什么?

最佳答案

首先,将 Elasticsearch 节点直接暴露在互联网上而没有前面的保护通常是坏消息。不要这样做——尤其是旧版本。你很快就会遇到安全问题。我建议使用 nginx 之类的东西来进行基本身份验证 + HTTPS,然后将其 proxy_pass 到本地绑定(bind)的 Elasticsearch 实例。这为您提供了与服务器的加密和经过身份验证的公共(public)连接。

也就是说,请参阅 networking config documentation .你想要 network.hostnetwork.bind_host . network.publish_host是节点向其他节点通告的名称,以便它们可以连接以进行集群。您还需要确保您的防火墙(iptables 或类似的)设置为允许 9200 上的流量,并且您没有任何上游网络安全阻止访问机器(例如 AWS 安全组或 DigitalOcean 的网络防火墙)。

关于elasticsearch - 从公网域名或IP访问elasticsearch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59471425/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com