在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
無需重啓,刷新頁面即可。