Docker 部署使用Elasticsearch-head的几个坑

  由于最近公司业务需要,需要搭建ELK集群,对于初学者来说,Elasticsearc在使用过程中搭配ElasticSearch-Head使用起来更方便,可以更直观的查看索引、数据等等。但是通过Docker部署ElasticSearch和head后通过head访问es发现了许多坑,所以记录一下。

  1. 带权限访问
    需要将es的用户名和密码带到es-head的访问连接上,这个坑相对比较小,查查资料就可以找到
http://192.168.100.98:9100/?auth_user=elastic&auth_password=4BT5mSA2Weshq4zbNH1U
  1. 跨域
    通过es-head去访问es的时候发现控制台一直提示跨域,所以在网上找了很多帖子说是要在es的配置文件中配置跨域,而且出奇的一致,跨域配置如下:
# 关闭跨域验证(可以不开启)
http.cors.enabled: true
http.cors.allow-origin: "*"

但是我配置了以后还是报跨域,最后很多途径终于发现了一条新配置,加上以后才解决跨域问题,配置如下:

http.cors.allow-headers: Authorization,X-Requested-With,Content-Type,Content-Length
  1. {“error”:“Content-Type header [application/x-www-form-urlencoded] is not supported”,“status”:406}
    配置好跨域以后es可以看到索引,但是通过索引查看数据就是查不到,然后就发现浏览器控制台报错:{“error”:“Content-Type header [application/x-www-form-urlencoded] is not supported”,“status”:406},又是一顿查资料,终于找到了解决方案,就是需要将容器中es-head的vendor.js文件中的请求方式改一下。具体步骤如下:
#进入eshead的容器
docker exec -it 容器id bash

## 由于需要编辑文件,所以需要安装vim编辑器
## 如果下载较慢,获取嫌麻烦,可以使用docker cp命令将文件拷贝到宿主机修改,然后再拷贝回去即可
#更新源
apt-get update
#安装vim编辑器
apt-get install vim

#进入 _site
cd _site

# 打开vendor.js,需要修改文件中的6886 和 7575两行中的application/x-www-form-urlencoded为application/json;charset=UTF-8
# vi直接到某一行的快捷方式,在命令模式下输入 :行号即可。
vi vendor.js

# 退出容器
exit

#重启容器
docker restart 容器id
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值