博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
elasticsearch-head安装
阅读量:4483 次
发布时间:2019-06-08

本文共 2522 字,大约阅读时间需要 8 分钟。

elasticsearch-head第三方的查询工具

环境:

elasticsearch6.x

docker安装:

查询镜像:

$ docker search elasticsearch-headINDEX       NAME                                                         DESCRIPTION                                     STARS     OFFICIAL   AUTOMATEDdocker.io   docker.io/mobz/elasticsearch-head                            elasticsearch-head front-end and standalon...   46                   docker.io   docker.io/alivv/elasticsearch-head                           elasticsearch-head front-end and standalon...   6                    docker.io   docker.io/jeanberu/elasticsearch-head                        ElasticSearch:1 with elasticsearch-head pl...   6                    [OK]...

拉取镜像:

$ docker pull docker.io/mobz/elasticsearch-head:5    ....

elasticsearch-head:5 标准版本(最新),兼容elasticsearch 5.x和6.x版本服务

运行:

$ docker run -d --name elastic-head -p 9100:9100 mobz/elasticsearch-head:5

访问地址:http:ip:9100

QA:

一、无法连接

1202606-20190621114025687-775637573.png

原因:默认elasticsearch不支持跨域请求

解决办法:

http.cors.enabled 是否支持跨域,默认为false
http.cors.allow-origin 当设置允许跨域,默认为*,表示支持所有域名,如果我们只是允许某些网站能访问,那么可以使用正则表达式。比如只允许本地地址。 /https?://localhost(:[0-9]+)?/

config/elasticsearch.yml文件末尾添加如上两个配置,并重启:

$ tail -n 2 config/elasticsearch.yml http.cors.enabled: truehttp.cors.allow-origin: "*"

二、正常连接elasticsearch后,无法查询数据

1202606-20190621114051119-1870425641.png

原因:elasticsearch-head是第三方客户端,默认的contentType:application/x-www-form-urlencoded标头不符合ES6.x新增的安全机制。新版本进行严格的内容类型检查,防止跨站点请求伪造攻击。

解决办法:修改elasicsearch-head程序中的有关 contentType的设置,设置成符合安全机制的contentType:application/json;charset=UTF-8

$ docker exec  -it elastic-head bashroot@26a619845111:/usr/src/app# cd _site/root@26a619845111:/usr/src/app/_site# ls -ltotal 780-rw-r--r-- 1 root root  14908 Feb 22  2016 app.css-rw-r--r-- 1 root root 143298 Jan  6  2017 app.jsdrwxr-xr-x 2 root root     61 Nov  3  2015 basedrwxr-xr-x 2 root root    154 Nov  3  2015 fonts-rw-r--r-- 1 root root   2860 Jun 28  2016 i18n.js-rw-r--r-- 1 root root   1043 Jan  6  2017 index.htmldrwxr-xr-x 2 root root    111 Jan  6  2017 lang-rw-r--r-- 1 root root  21643 Feb 22  2016 vendor.css-rw-r--r-- 1 root root 605341 Jun 21 01:58 vendor.js#修改vendor.js的第6886和7574行,将application/x-www-form-urlencoded改为application/json;charset=UTF-8

重新启动服务:

$ docker kill elastic-head$ docker rm elastic-head$ mkdir -p /usr/src/app/_site/ #新建目录,并将vendor.js文件上传。docker启动时映射此文件即可$ docer run -d --name elastic-head -p 9100:9100 -v /usr/src/app/_site/vendor.js:/usr/src/app/_site/vendor.js mobz/elasticsearch-head:5

正常查询:

1202606-20190621114111526-1854689728.png

最后:

chrome浏览器里的elasticsearch-head插件是没有上述问题的。直接安装即可用。

转载于:https://www.cnblogs.com/dance-walter/p/11063723.html

你可能感兴趣的文章
码农的半衰期只有15年?
查看>>
手工释放linux内存
查看>>
2014-5-30 总结
查看>>
【H3 BPM工作流程管理产品小故事】第四篇 子表创建
查看>>
洛谷P1148 拱猪计分
查看>>
MySQL服务器的安装和配置,MySQL Workbench 8.0.12安装,MySQL的基本使用
查看>>
扑克序列
查看>>
java笔记--适配器模式的运用
查看>>
C#与数据结构--图的遍历
查看>>
ispy 编译笔记
查看>>
bzoj1067——SCOI2007降雨量(线段树,细节题)
查看>>
day 1
查看>>
洛谷P1282 多米诺骨牌【线性dp】
查看>>
数据类型的提升(promotion)
查看>>
Thead是不能返回值的,但是作为更高级的Task当然要弥补一下这个功能。
查看>>
Python中的生成器与yield
查看>>
JQuery 的Bind()事件
查看>>
Maven 常用配置
查看>>
Objects源码解析
查看>>
video
查看>>