{
“error” : “Content-Type header [application/x-www-form-urlencoded] is not supported”,
“status” : 406
}
问题原因
解决办法elasticsearch 6以上 增加了请求头严格校验的原因
- liunx环境:
##可以使用,编辑修改 `vim vendor.js` ## 使用 显示行号 :set nu ## 使用跳转到指定行号 ,跳到下面两处行号,修改 :6886 # contentType: "application/x-www-form-urlencoded # 修改为 # contentType: “application/json;charset=UTF-8” :7573 # var inspectData = s.contentType === “application/x-www-form-urlencoded” && # 修改为 # var inspectData = s.contentType === “application/json;charset=UTF-8” && ##重启,head ,刷新页面重新访问head控制台
主要是修改一下 vendor.js文件,我这边环境是 docker 部署 ,解决步骤如下。
##查看容器iD [root@localhost config]# docker ps ConTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 086a6713ca86 mobz/elasticsearch-head:5 "/bin/sh -c 'grunt s…" 24 minutes ago Up 24 minutes 0.0.0.0:9100->9100/tcp es_head ## 进入运行的容器 [root@localhost config] docker exec -it 086a6713ca86 /bin/bash ## 查看 vendor.js 路径 root@086a6713ca86:/usr/src/app/_site# ls app.css app.js base fonts i18n.js index.html lang vendor.css vendor.js ## 将 该文件拷贝出来 [root@localhost config]# docker cp 086a6713ca86:/usr/src/app/_site/vendor.js /home/grkj/es
之后可以通过ftp下载下来 ,修改 6886行,为**contentType: "application/json;charset=UTF-8"**
继续搜索 contentType ,发现 7573行 ,修改为: var inspectData = s.contentType === "application/json;charset=UTF-8"
两处修改完成,保存,复制到容器内
##复制到容器 [root@localhost es]# docker cp /home/grkj/es/vendor.js 086a6713ca86:/usr/src/app/_site/vendor.js #重启 [root@localhost es]# docker restart es_head测试查看结果,成功



