环境

ubuntu 18.04

elasticsearch 7.17.9


设置远程访问

打开elasticsearch配置文件(默认应该在/etc/elasticsearch/目录下),设置一下配置项

# 默认有这个配置项,需要设置为 以下内容
network.host: 0.0.0.0

# 默认有这个配置项,只需要打开注释即可
cluster.initial_master_nodes: ["node-1", "node-2"]

# 默认没有这个配置项,需要添加到文件末尾即可
http.cors.allow-origin: 'http://localhost:1358'
http.cors.enabled: true
http.cors.allow-headers: X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization
http.cors.allow-credentials: true

保存配置文件,重启ES即可。

service elasticsearch restart

重启后即可通过远程访问,可用以下测试

curl 121.204.249.98:9200


设置密码访问

设置了远程访问后,由于安全问题,还是建议设置一下密码访问,具体设置如下:

1、配置项设置

打开elasticsearch配置文件(默认应该在/etc/elasticsearch/目录下),设置一下配置项

# 默认没有这个配置项,只需要添加到文件末尾即可
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true

保存配置文件后,重启

service elasticsearch restart

2、设置账号密码

找到设置密码脚本

elasticsearch-setup-passwords

 一般在目录/usr/share/elasticsearch/bin

运行该脚本:

./elasticsearch-setup-passwords interactive

如果一切正常,则设置界面如下:

小爱鼠标截图_20230414100754.png


设置完毕即可用新设置的账号密码访问了,可用以下命令测试:

curl host-ip:9200 -u elastic:123456(123456是你设置的密码)

如果能够正常返回,则说明设置成功!

3、修改密码

curl -XPOST -u elastic "localhost:9200/_security/user/elastic/_password" -H 'Content-Type: application/json' -d'{"password" : "abcd1234"}'


4、重置密码

步骤如下:

  1. 修改config/elasticsearch.yml;注释掉 xpack.security.enabled: true这一行;

  2. 重启ES,查看下索引,发现多了一个.security-7

  3. 到此就回到ES没有设置密码的阶段了,如果想重新设置密码,请重新开始之前设置密码的步骤