我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

ElasticSearch的使用过程中,主要的组合就是http/https。有好几种签权方式:不用密码/401未授权/url直传密码,这几种组合方式。所以,根据ElasticSearch配置的不同,最终使用kibana或者es head或者代码链接的时候,也是不同的。

苏南大叔:ElasticSearch全文搜索引擎,如何修改配置切换鉴权方式? - 切换鉴权方式-hero
ElasticSearch全文搜索引擎,如何修改配置切换鉴权方式?(图9-1)

大家好,这里是苏南大叔的“程序如此灵动”博客,这里记录苏南大叔和计算机代码的故事。本文记录ElasticSearch的配置文件变化,如何引起鉴权方式的变化。本文测试环境:win10elasticsearch@8.1.3java@11.0.14

配置文件

配置文件是config/elasticsearch.yml。第一次启动之后,就会生成这个文件。

苏南大叔:ElasticSearch全文搜索引擎,如何修改配置切换鉴权方式? - config-elasticsearch
ElasticSearch全文搜索引擎,如何修改配置切换鉴权方式?(图9-2)

默认配置是:

xpack.security.enabled: true
xpack.security.http.ssl:
  enabled: true
  keystore.path: certs/http.p12

苏南大叔:ElasticSearch全文搜索引擎,如何修改配置切换鉴权方式? - 配置文件
ElasticSearch全文搜索引擎,如何修改配置切换鉴权方式?(图9-3)

启动elasticsearch的命令,可以是:

bin/elasticsearch

修改配置文件后,需要重启elasticsearch才能生效。

信任证书

如果要启用https的话,记得先把证书加入到“信任的根证书颁发机构”里面。

苏南大叔:ElasticSearch全文搜索引擎,如何修改配置切换鉴权方式? - 受信任的证书安装
ElasticSearch全文搜索引擎,如何修改配置切换鉴权方式?(图9-4)

这个证书里面,固定了ip地址。如果服务器ip是自动获得的可变的那种的话,就会出现各种奇奇怪怪的问题。如果出现了一系列无法解释的错误的时候。你可以尝试修改环境ip为安装证书的时候的ip。

苏南大叔:ElasticSearch全文搜索引擎,如何修改配置切换鉴权方式? - 固定ip的证书
ElasticSearch全文搜索引擎,如何修改配置切换鉴权方式?(图9-5)

配置对照表

总开关ssl开关httpshttp
xpack.security.enabled: truexpack.security.http.ssl:enabled: true401empty_response
xpack.security.enabled: falsexpack.security.http.ssl:enabled: trueerr_ssl不需要鉴权
xpack.security.enabled: truexpack.security.http.ssl:enabled: falseerr_ssl401
xpack.security.enabled: falsexpack.security.http.ssl:enabled: falseerr_ssl不需要鉴权

管理数据的目的,默认启用的是9200端口。
即使地址都是localhost,但协议方面有httphttps的区分。不同的配置情况下,httphttps的鉴权方式也不同。

401鉴权:

苏南大叔:ElasticSearch全文搜索引擎,如何修改配置切换鉴权方式? - 401授权
ElasticSearch全文搜索引擎,如何修改配置切换鉴权方式?(图9-6)

错误提示:

苏南大叔:ElasticSearch全文搜索引擎,如何修改配置切换鉴权方式? - 错误提示
ElasticSearch全文搜索引擎,如何修改配置切换鉴权方式?(图9-7)

不需要鉴权:

苏南大叔:ElasticSearch全文搜索引擎,如何修改配置切换鉴权方式? - 不需要鉴权
ElasticSearch全文搜索引擎,如何修改配置切换鉴权方式?(图9-8)

推荐配置

由于这个证书ssl会带来太多的不确定性,引发各种报错。所以,苏南大叔个人觉得还是关闭https比较好。个人推荐的config/elasticsearch.yml配置项目是:

xpack.security.enabled: true
xpack.security.http.ssl:
  enabled: false

效果就是访问http9200,然后输入用户名密码。

使用url直传用户名密码

传递方式是:

  • ?auth_user=elastic&auth_password=elastic

不过,这个是在es head里面可以用的方式,可能是经过了es head的转换,在其它的环境下,无法识别执行。这种情况,留作后续文章讨论。

苏南大叔:ElasticSearch全文搜索引擎,如何修改配置切换鉴权方式? - es-head-直接鉴权
ElasticSearch全文搜索引擎,如何修改配置切换鉴权方式?(图9-9)

参考文献

综述

要想使用好ElasticSearch工具,首要解决的问题就是用户名和密码的问题。所以,本文中的内容,要好好掌握。在多变的测试环境中,个人非常不推荐使用xpack的鉴权方式,也就是说不建议启用https功能,会带来很多未知的奇奇怪怪的证书认证相关的问题。

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   elastic