elasticsearch-head 5連接elasticsearch 6.x無法顯示數據的解決辦法

在docker安裝了elasticsearch-head:5elasticsearch: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

無需重啓,刷新頁面即可。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章