访问elasticsearch9200报错curl: (52) Empty reply from server

启动容器

启动成功,访问9200返回结果为空:

查看docker logs发现没有问题,容器也已经成功启动,且监听0.0.0.0:9200

解决方法:

方法1.进入容器修改elasticsearch.yml文件

(我没有挂载数据卷,也懒得copy,所以直接在容器内用vim修改了,若容器内没有安装vim,可以通过以下指令安装vi或vim)

docker exec -u 0 -it elas /bin/bash #需要以root身份进入容器,否则下面步骤会报错E: List directory /var/lib/apt/lists/partial is missing. - Acquire (13: Permission denied)
apt-get update
apt-get install vim

修改yml文件

把对应行的true改为false,保存并重启es

成功

注意:这种方法关闭了安全限制,实际生产环境中不建议使用

方法2:为es设置password,访问时通过password访问

curl -k -u elastic:password https://localhost:9200
# 或者
curl -X GET "http://username:password@localhost:9200

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注