0 生成认证证书
在任意一台ES服务器上的config目录下生成名字叫elastic-certificates.p12
的证书,目录可以根据你的需求存放,后续在配置的时候添加对应的目录就可以。
bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass ""
然后将证书传到其他服务器节点。
1 配置elasticsearch.yml文件
对所有节点的elasticsearch.yml进行配置,配置信息如下:
# 是否支持跨域
http.cors.enabled: true
# 默认为*表示支持所有域名跨域访问,也可以指定域名跨域,或者使用正则表达式匹配。
http.cors.allow-origin: "*"
# 跨域允许设置的头信息
http.cors.allow-headers: Authorization
# 是否返回设置的跨域Access-Control-Allow-Credentials头
http.cors.allow-credentials: true
# 开启x-pack
xpack.security.enabled: true
# 开启ssl认证
xpack.security.transport.ssl.enabled: true
#验证模式为证书
xpack.security.transport.ssl.verification_mode: certificate
#配置生成的ca证书,这里的路径可以根据
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
配置完成后,重启ES集群
2 设置密码
密码设置有2种方式 :
- auto – 随机生成密码。
- interactive – 自定义不同用户的密码
#在任意一个节点都可以,这里我就随机生成密码了,也可以自定义修改把参数换成interactive
bin/elasticsearch-setup-passwords auto
![73D]R`N(5GP$E5)H4{ZDF2P.png](https://img-blog.csdnimg.cn/img_convert/a9b4843bea7d3aa77011c85f1ad40b4a.png)
Changed password for user apm_system
PASSWORD apm_system = cJlfvM1EnsmGB0RfihHg
Changed password for user kibana
PASSWORD kibana = zUMPf0Mm0eZMIZyUmPyV
Changed password for user logstash_system
PASSWORD logstash_system = E6X1DKSHGRH3uNOjWNDh
Changed password for user beats_system
PASSWORD beats_system = kDcvPg0Osodl01d7JAug
Changed password for user remote_monitoring_user
PASSWORD remote_monitoring_user = SZ1kBXJglQwmBRemh7js
Changed password for user elastic
PASSWORD elastic = wZrhcQF6rdyD93O7bRg9
3 配置kibana
配置kibana前需要关闭kibana进程。kibana配置文件中,只添加这3条,注意kibana的账号密码只用于连接使用,在界面上登录需要使用elastic的账号,使用kibana账号会出现“没有匹配搜索条件的空间”的错误。
server.name: "kibana"
#elasticsearch的kibana帐号密码,x-pack创建的用户名密码
elasticsearch.username: "kibana"
elasticsearch.password: "zUMPf0Mm0eZMIZyUmPyV"
配置完成后重启kibana,在界面上输入elastic的账号和密码