• Elasticsearch head 连接 阿里云ES


    Elasticsearch head 以下简称 ES Head

    1 简介

    ES Head其实是ES的Restful API可视化操作的客户端。所有功能都是基于XHR来请求ES开放的Restful API来进行一列操作。

    Elasticsearch head 基本上满足所有常用操作。

    Elasticsearch官方推荐使用Kibana来操作ES,功能很强大。推荐读者去学习一下。

    2 安装

    ES Head的安装有两种方式:

    1. 浏览器CRX插件
    2. 下载源码,使用node.js环境运行

    以上两种安装方式有网络上有很多详细步骤。这里不再赘述。

    此教程适用于第二种安装方式(比较好修改源码),所以读者可以用第二种方式来安装。

    这里贴一个地址:https://www.cnblogs.com/xuwenjin/p/8792919.html

    3 连接阿里云ES

    这里所说的阿里云ES是阿里云的Elasticsearch产品。而并不是在ECS里自己安装、配置Elasticsearch。

    3.1 开通阿里云ES

    内容:百度搜,或者后面再补充。

    PS:听君一席话,如听一席话。。。

    3.2 开启阿里云ES外网访问

    内容:百度搜,或者后面再补充。

    PS:听君一席话,如听一席话。。。

    3.3 连接阿里云ES的关键点

    要连接上阿里云ES的关键点是要进行身份认证(如果你确定你的阿里云ES没有开认证的话,下面不用看了,这不是你要搜的答案)。

    阿里云ES采用Basic Auth的认证方式来认证使用者的信息。关于Basic Auth的详细知识,读者需另做了解。

    在这里我们要知道的是。只要为我们的HTTP请求带上Basic Auth认证信息就可以访问阿里云ES了。

    以下是方法:

    3.3.1 知道阿里云ES账号密码

    如果阿里云ES没有开启认证的话,一般不会碰上本文描述的问题~~~

    3.3.2 将账号密码变为Basic Auth的形式

    这里贴一个在线工具地址:http://web.chacuo.net/safebasicauth

    image-20211023022033484

    3.3.3 将认证请求头信息设置到ES Head 发送的每一个请求里

    具体操作请看第4步。

    3.4 修改ES Head代码

    运行并打开ES head 管理页面,按F12打开浏览器的开发者工具。切换到Network标签,点击连接。

    image-20211023015633269

    image-20211023020703648

    到这里可以发现,ES Head所有的请求都是通过vendor.js这个文件发起的请求。点击文件名,查看源码:

    image-20211023020753987

    由上图可以发现两个关键地方:

    1. 所有请求由xhr.send来发送。
    2. headers里面的内容会被一个for循环设置到xhr的RequestHeader里

    好的,现在要做的就是把Basic Auth认证信息加到headers里就可以了。

    1. 打开目标JS文件,进行修改

    image-20211023022804198

    image-20211023022744607

    image-20211023023204493

    为了快速使用。我们直接将认证信息在代码里静态化设置了。如果你会一些前端知识,可以修改ES Head的页面,提供输入账号密码的功能。

    注意:一定要在for循环之前添加认证信息,否则不会被设置进RequestHeader里。

    至此,我们完成了ES Head代码的修改,我们已经成功了**80%**了。剩下的20%是还需要解决跨域的问题。

    3.5 解决浏览器跨域问题

    解决跨域有很多种方式。读者需要自己再去了解。笔者这里使用一个简单粗暴的方式,那就是直接关闭浏览器的跨域检测。

    1. 新建一个浏览器快捷方式。
    2. 右击,属性,修改启动参数

    image-20211023024129659

    设置启动参数:

    –disable-web-security --user-data-dir=D:eshead-data

    4 测试

    使用3.5步骤创建的快捷方式打开浏览器,访问ES Head的管理页地址:

    image-20211023025017423

    大功告成!

    核心问题是:如何解决认证信息,阿里云使用Basic Auth来进行认证,那么我们就要对症下药,解决这个Basic Auth认证问题。

  • 相关阅读:
    Golang Xorm更新Mysql数据库 结构体内的0值数据未更新
    岁末年初,为你打包了一份技术合订本
    R语言从入门到精通Day1之【R语言介绍】
    计算机毕业设计JAVAOA办公系统mybatis+源码+调试部署+系统+数据库+lw
    LeetCode刷题笔记【25】:贪心算法专题-3(K次取反后最大化的数组和、加油站、分发糖果)
    GitHub+Hexo博客搭建
    开源网络协议栈onps诞生记
    位图,布隆过滤器,哈希分割
    【供应链】供应链的底牌
    java.sql.SQLException: Value ‘xxx‘ can not be represented as java.sql.Timestamp
  • 原文地址:https://blog.csdn.net/m0_54850825/article/details/126358874