一、es集群开启密码验证
elastic search简称为es,为一个分布式的搜索引擎,默认的es部署是没有密码验证的,很容易会出现安全问题。
1.使用ES自带的XPACK开启密码校验
在es7.0版本以后(之前的版本没怎么用过,不太清楚)安装包默认自带了xpack功能,所以只需要在es包下的config目录修改一下es的默认配置文件elasticsearch.yml即可,
在elasticsearch.yml中追加写入以下参数
xpack.security.enabled: true
## 加密方式
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true
然后重启es让配置文件生效,再到es包下bin目录执行以下命令
./elasticsearch-setup-passwords interactive
2、 使用postman访问带密码的ES
curl 172.1.11.x:9200 --user elastic:123456
但是命令行的操作体验很不好,大部分人还是使用postman进行请求的,在postman中请求加密的es就比较麻烦一点,要在request header里新增Authorization参数,而该参数的值获取来源有以下三种(找到了一种非常简单的设置用户名密码方式,详见第一种)
第一种:不需要去手动设置Authorization参数了,在postman中就有Authorization这一栏,只需要选择相应的认证方式后,在右侧输入用户名和密码就好了
第二种:在浏览器中请求es的首页,也就是地址加端口,这时候会让你输入用户名和密码,当输入后,会跳转到首页。
然后打开浏览器的调试功能,从该请求中获取到Authorization参数,如下
将获取到的Authorization参数,放入request header里Authorization参数中
第三种:因为在es的配置文件中,选用的加密方式为basic,也就是该项,
xpack.license.self_generated.type: basic
获取到Authorization以后,在postman进行设置,即可如常访问
最后
如果这篇文章对您有所帮助,或者有所启发的话,帮忙扫描下发二维码关注一下,您的支持是我坚持写作最大的动力。求一键三连:点赞、转发、在看