原文链接:https://blog.csdn.net/qq_31142553/article/details/99689758
在docker安装了elasticsearch-head:5和elasticsearch:6.3.2之后,打开界面连接es时发现数据无法展示。
于是网上查了下原因,说是elasticsearch 6增加了请求头严格校验的原因,并且返回结果是
{
"error" : "Content-Type header [application/x-www-form-urlencoded] is not supported",
"status" : 406
}
所以我们需要修改一下elasticsearch-head 5的配置文件。
1、因为docker容器里面无法使用vi/vim,所以需要先将文件拷贝出来。
命令:docker cp es_head:/usr/src/app/_site/vendor.js ./
说明:将容器里面/usr/src/app/_site/vendor.js文件拷贝到宿主机的当前目录下,其中es_head为容器名,也可以写容器id。
2、编辑文件
vi 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" &&
补充说明
vi中显示行号的命令为
:set nu
vi中跳转到指定行的命令为
:行号
3、将改完后的文件拷贝回容器
docker cp vendor.js es_head:/usr/src/app/_site
无需重启,刷新页面即可。