作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
正在运行 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"
}
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.host
或 network.bind_host
. network.publish_host
是节点向其他节点通告的名称,以便它们可以连接以进行集群。您还需要确保您的防火墙(iptables 或类似的)设置为允许 9200 上的流量,并且您没有任何上游网络安全阻止访问机器(例如 AWS 安全组或 DigitalOcean 的网络防火墙)。
关于elasticsearch - 从公网域名或IP访问elasticsearch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59471425/
无法从谷歌计算引擎获取 Kibana 的公共(public) IP。表示无法访问该站点,但如果我更改 elasticsearch.yml,则 Elasticsearch 通过公共(public) IP
我是一名优秀的程序员,十分优秀!