天天看點

elasticsearch-head 5連接配接elasticsearch 6.x無法顯示資料的解決辦法

在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

無需重新開機,重新整理頁面即可。 

繼續閱讀