题外话
如果各位客官有需要开发一些小小需求,可以私我哦,承接小需求开发,或问题定位(仅限java),价格私聊哈
一、es开启密码验证
使用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
运行完以后则会提醒你输入各个账号的密码,es账户需要密码,可能会影响现在的使用,再接下来就是会默认的创建6个用户,并让你设置这六个用户的密码,这些账号暂时不知有什么用,直接回车即可。
设置完成以后,这时候再访问es的地址,就会提示安全错误信息了,到此,es的密码设置完成。
二、访问方式
1.curl方式
只需要在curl后增加–user 用户名:密码
即可
#eg:
curl 172.1.11.x:9200 --user elastic:123456
2.浏览器方式
1)若所访问集群的节点搭建了head插件,则可以直接访问对应ip:9100,然后向浏览器弹出的弹窗输入账号密码即可。
2)也可以直接在浏览器上输入下面的地址,直接访问
http://ip:port/auth_user=账号&auth_password=密码
3)若所访问集群的节点搭建了kibener,可以直接访问对应节点ip:5601,找到开发工具,即可在里面进行编写dsl语句。
3.postman方式
在postman中请求加密的es就比较麻烦一点,要在request head里新增Authorization参数。获取这个参数有以下两种方式:
1)在浏览器中请求es的首页,也就是地址加端口,这时候会让你输入用户名和密码,当输入后,会跳转到首页。然后打开浏览器的调试功能,从该请求中获取到Authorization参数。
2)因为在es的配置文件中,选用的加密方式为basic,也就是该项xpack.license.self_generated.type: basic,
所以我们也可以对用户名密码进行手动加密,访问https://www.base64encode.org/地址,在输入框中输入elastic:123456,进行加密,并在头部加上“Basic”字符串就是最终的Authorization的值了,该值与第一种方式获取的是一致的。
原文链接
https://www.xiaoheidiannao.com/68496.html