在docker安装了elasticsearch-head:5和elasticsearch:7.6.2之后,打开界面连接es时发现数据无法展示。
在这里插入图片描述
于是网上查了下原因,说是elasticsearch 7增加了请求头严格校验的原因,并且返回结果是
{
“error” : “Content-Type header [application/x-www-form-urlencoded] is not supported”,
“status” : 406
}
解决办法:
docker cp es-head:/usr/src/app/_site/vendor.js /data/head/vendor.js
找到vendor.js,修改文件里的两处:
1、6886行
contentType: "application/x-www-form-urlencoded
改成
contentType: “application/json;charset=UTF-8”
2、7573行
var inspectData = s.contentType === “application/x-www-form-urlencoded” &&
改成
var inspectData = s.contentType === “application/json;charset=UTF-8” &&
docker run -v /data/head/vendor.js:/usr/src/app/_site/vendor.js -d --name es-head -p 9100:9100 mobz/elasticsearch-head:5