在Elasticsearch中启用TLS

时间:2019-06-24 21:41:00

标签: ssl elasticsearch

我在Windows 7上运行的Elasticsearch 7.1.1中启用TLS时遇到问题。

我有一个证书创建为的单个节点

elasticsearch-certutil ca
elasticsearch-certutil cert --ca elastic-stack-ca.p12

elasticsearch.yml文件具有以下设置

node.name: node1
discovery.type:  single-node
xpack.security.enabled: true
xpack.security.transport.ssl.verification_mode: certificate 
xpack.security.transport.ssl.keystore.path: 'C:\elasticsearch-7.1.1\config\certs\elastic-certificates.p12'
xpack.security.transport.ssl.truststore.path: 'C:\elasticsearch-7.1.1\config\certs\elastic-certificates.p12'

这很好,但是当我添加以下内容

xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: 'C:\elasticsearch-7.1.1\config\certs\elastic-certificates.p12'
xpack.security.http.ssl.truststore.path: 'C:\elasticsearch-7.1.1\config\certs\elastic-certificates.p12'

启动弹性搜索,我看到以下错误

  

[2019-06-25T07:34:19,659] [WARN] [o.e.h.Abs​​tractHttpServerTransport]   [node1]在处理客户端http流量时捕获异常,关闭   连接Netty4HttpChannel {localAddress = 0.0.0.0 / 0.0.0.0:9200,   remoteAddress = / 127.0.0.1:6757}   io.netty.handler.codec.DecoderException:   io.netty.handler.ssl.NotSslRecordException:不是SSL / TLS记录:

每10-15秒重复一次。

虽然启用了https,但我可以使用https://localhost:9200

访问该节点

我不知道为什么会收到上述错误,尽管没有其他任何东西正在运行并且正在访问Elasticsearch。

任何帮助将不胜感激。

感谢堆

2 个答案:

答案 0 :(得分:0)

有人在弹性论坛上向我指出,以上内容只是警告,并非错误。我仍然不明白是什么原因导致的,因为我没有运行任何服务或任何其他可能导致它的服务,但最终找到了正在运行的称为心跳的东西。显然,这是在Kibana的早期版本/以前的安装中设置的,并且仍在运行,使用http进行调用,从而导致上述错误(用于创建用于/用于演示Kibana的虚拟数据)。

答案 1 :(得分:0)

我也遇到了这个问题。如果您之前安装了 Elastic Search,那么您很有可能会得到一些状态为“红色”的残余索引,这使得启用 TLS 的过程不成功。 试试这个命令来验证你的索引及其状态

curl -XGET https://localhost:9200/_cat/indices

然后删除红色状态的那些。