首页 > 解决方案 > 在 Elasticsearch 中启用 TLS

问题描述

我在 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'

并启动 elasticsearch 我看到以下错误

[2019-06-25T07:34:19,659][WARN][oehAbstractHttpServerTransport] [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

我不知道为什么我会收到上述错误,因为没有其他东西正在运行并访问弹性搜索。

任何帮助将非常感激。

非常感谢

标签: sslelasticsearch

解决方案


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

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

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


推荐阅读