Elasticsearch 启动访问报错问题

产生的问题与解决方案

环境:Windows 10

ES 版本:8.12.0

现象

双击 elasticsearch.bat 文件启动后,访问 http://127.0.0.1:9200 地址报了一个错误:

received plaintext http traffic on an https channel, closing connection Netty4HttpChannel ...

上网查询了一下原因,是因为 ES 在 Windows 下开启了安全认证,所以虽然启动成功了,但是请求失败了。

解决方案

找到 config/ 目录下面的 elasticsearch.yml 配置文件,把安全认证开关从原先的 true 都改成 false,实现免密登录访问即可:

# Enable security features
# 这个地方改成 false
xpack.security.enabled: false xpack.security.enrollment.enabled: true # Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
# 这个关于http的安全认证开启也改成false
xpack.security.http.ssl:
enabled: false
keystore.path: certs/http.p12 ...

扩展学习 - Xpack安全认证

从刚刚的问题发现 ES 有一个 xpack 这样一个安全认证机制。顺便学习一下这个机制。

因为 ES 一般存储了公司里大量的数据,所以需要一些安全认证机制,Xpack 就是其中一种。

XPack 是 Elastic Stack 的扩展功能,提供安全性、报警、监视、报告、机器学习和其他功能。ES 7.0+ 之后默认情况下 ES 都会安装 Xpack,不用再单独安装。

Xpack 主要配置说明

# 默认为 true,启用节点上 ES 的 xpack 安全功能,相当于总开关
xpack.security.enabled: false xpack.security.enrollment.enabled: true # 用于开启 https
xpack.security.http.ssl:
# 是否开启 https
enabled: false
# full:验证所提供的证书是否由受信任的权威机构(CA)签名,并验证服务器的主机名(或IP地址)是否与证书中识别的名称匹配
# certificate:验证所提供的证书是否由受信任的机构(CA)签名,但不执行任何主机名验证
# none:不执行服务器证书的验证
verification_mode: certificate
# 密钥存放的位置
keystore.path: certs/http.p12
# 信任文件存放位置
truststore.path: certs/http.p12 # 集群节点间的加密和相互认证功能,配置内容同 xpack.security.http.ssl
xpack.security.transport.ssl:
enabled: true
verification_mode: certificate
keystore.path: certs/transport.p12
truststore.path: certs/transport.p12
# 仅使用当前节点创建新集群
# 其他节点以后仍然可以加入集群
cluster.initial_master_nodes: ["DESKTOP-LENNVGU"] # 允许任何地方的 HTTP API 连接
# 连接是加密的则需要用户认证
http.host: 0.0.0.0 # 允许其他节点从任何地方加入集群
# 连接是加密和相互认证的
#transport.host: 0.0.0.0

关于 keystroe 和 truststore

  • keystore

    一个放 key 的库,key 就是公钥、私钥、数字签名等组成的一个信息。

  • truststore

    放信任的证书的一个 store

truststorekeystore 的性质是一样的,都是存放 key 的一个仓库,区别在于 truststore 里存放的是只包含公钥的数字证书,代表了可以信任的证书,而 keystore 是包含私钥的。

[Elasticsearch] Elasticsearch 启动访问报错问题的更多相关文章

  1. Springboot项目打成war包,部署到tomcat上,正常启动访问报错404

    前言: 项目介绍,此项目是一个Maven多模块项目,模块项目:all(父模块):util (公用的工具类):dao(实体类.业务类.mapper.mapper.xml):business(业务serv ...

  2. 【spring boot】spring cloud下spring boot微服务启动没有报错,但是访问访问不到

    spring cloud下spring boot微服务启动没有报错,但是访问访问不到 解决方法: 可能是端口被占用了,但是依旧启用成功了. 更改一下项目启用的端口号,再重新启动查看是否可以正常访问.

  3. Eclipse启动项目正常,放到tomcat下单独启动就报错的 一例

    一个老的ssh的项目,进行二次开发(增加一些新功能)后, 首先用Eclipse中集成的Tomcat启动没有任何问题,但是把启动后的webapps下得目录放到 windows的普通tomcat下单独启动 ...

  4. 【mybatis】mybatis访问报错:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 或者 feign被调用方使用的mybatis总报空指针异常java.lang.NullPointerException,而变量都没有问题的情况

    mybatis访问报错:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 需要检查的步骤: ...

  5. jfinal使用idea启动 访问报404 action not found

    公司一个项目,在eclipse里面启动正常,换到idea里面启动后,启动没有报错,但是访问的时候会提示404 action not found. 百度了很多种解决方法 都没有解决. 今天脑子一转,想到 ...

  6. Spring Boot接入 apollo 后启动 dubbo 报错

    原文地址:https://xobo.org/spring-boot-apollo-dubbo-xml-error/ 某Spring Boot项目接入 apollo 后启动 dubbo 报错Caused ...

  7. maven 项目启动tomcat报错 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

    maven项目启动tomcat报错: java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderLi ...

  8. 【转】Eclipse下启动tomcat报错:/bin/bootstrap.jar which is referenced by the classpath, does not exist.

    转载地址:http://blog.csdn.net/jnqqls/article/details/8946964 1.错误: 在Eclipse下启动tomcat的时候,报错为:Eclipse下启动to ...

  9. 学习中的错误——ubuntu 14.04 LTS 启动eclipse报错

    在ubuntu中启动eclipse报错:(Eclipse:15978): GLib-GIO-CRITICAL **: g_dbus_connection_get_unique_name: assert ...

  10. tomcat7 启动项目报错 java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig()

    JDK版本:jdk1.8.0_77 Tomcat 版本:apache-tomcat-7.0.47 异常重现步骤: 1.完成项目部署 2.启动Tomcat 异常头部信息:java.lang.NoSuch ...

随机推荐

  1. 02-python简介

    python简介 python认知 1.python简介 89年开发的语言,创始人范罗苏姆(Guido van Rossum),别称:龟叔(Guido). python具有非常多并且强大的第三方库,使 ...

  2. [java] - 数据库连接工具类

    package util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLExceptio ...

  3. bcc的简单学习

    bcc的简单学习 安装 # 安装部分依赖项目 yum install cmake llvm -y dnf install -y bison cmake ethtool flex git iperf3 ...

  4. [转帖]redis-benchmark的使用总结

    redis-benchmark的使用总结 Redis简介: 测试需求: 测试环境架构 测试工具Redis-benchmark 1 redis-benchmark使用方法 参数的作用 2 测试查看 测试 ...

  5. [转帖]@Scope("prototype")的正确用法——解决Bean的多例问题

    https://www.jianshu.com/p/54b0711a8ec8 1. 问题,Spring管理的某个Bean需要使用多例   在使用了Spring的web工程中,除非特殊情况,我们都会选择 ...

  6. [转帖]新版 Elasticsearch 中的强悍插件 X-pack

    https://zhuanlan.zhihu.com/p/36337697   3 人赞同了该文章 作者:Alan 岂安科技运维工程师努力踏上一条为后人留坑的运维之路.(逃 1 前言 Elk 日志可视 ...

  7. [转帖]一问带你掌握通过storcli做RAID

    因为系统不支持直接做raid,所以需要使用storcli这个工具来操作.首先把工具上传到服务器任意目录,并使用命令chmod +x storcli64修改文件权限为可执行. 另外可通过命令ln -s ...

  8. [转帖]jar启动指定JDK/JRE 安装路径教程

    https://blog.csdn.net/weixin_40986713/article/details/128136777 前言 因为疫情在家办公的缘故,有个老项目,需要改个接口,然后需要前端联调 ...

  9. Oracle表数量对数据泵备份恢复速度的影响情况

    Oracle表数量对数据泵备份恢复速度的影响情况 背景 随着公司产品交付后的时间越来越久. 数据库的备份恢复速度会越来越慢. 最开始一直认为是因为数据量导致的. 但是最近发现, 如果只是将数据库表的量 ...

  10. 兄弟组件互相传递值-this.$bus.$emit与this.$bus.$on

    B组件向C组件传递一个值. 一种组件间通信的方式, 适用于任意的组件间通信. 适用于任意的组件间通信. 适用于任意的组件间通信. 通过this.$bus.$emit('事件名',数据)进行提供数据 通 ...