使用用户名密码访问Elastic

默认配置下,Elastic可以直接访问。有些时候需要配置成像数据库一样,经过用户名密码验证后,才能访问es中的索引数据。下面的方法可以实现,利用http-basic插件:

1.http-basic文件夹拷入plugins目录

插件下载地址GitHub - Asquera/elasticsearch-http-basic: HTTP Basic Authentication for Elasticsearch (Discontinued)

2.elasticsearch.yml中加入:

http.basic.enabled: true
http.basic.user: "test"
http.basic.password: "test132"
http.basic.ipwhitelist: ["localhost", "127.0.0.1"]
http.basic.trusted_proxy_chains: []
http.basic.log: true
http.basic.xforward: "X-Forwarded-For"

3.获取client使用如下代码

   /**
     * 初始化es连接客户端
     *@author ZRH
     */
    public static void init() {
        String clusterName =  SystemParameter.get("esClusterName");
        boolean clientTransportSniff = SystemParameter.getBoolean("esClientTransportSniff");
        String[] hostPorts= SystemParameter.get("esHostPorts").split(",");
        client = newClient(clusterName, clientTransportSniff, hostPorts);
        String esUserName = SystemParameter.get("esUserName");//配置中为test
        String esPassWord = SystemParameter.get("esPassWord");//配置中为test132
        client.prepareGet().putHeader("Authorization","Basic " + encodeBasicHeader(esUserName,esPassWord));
        System.out.println("my test:" + existsIndex(client,"123"));
    }

4.有疑问加群:258143901


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部