ElasticSearch8.+ 通过https访问

这篇具有很好参考价值的文章主要介绍了ElasticSearch8.+ 通过https访问。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ElasticSearch8之后的版本默认是通过https访问的

通过https访问


import co.elastic.clients.elasticsearch.ElasticsearchClient;
import co.elastic.clients.json.jackson.JacksonJsonpMapper;
import org.apache.http.HttpHost;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.elasticsearch.client.RestClient;
import co.elastic.clients.transport.ElasticsearchTransport;
import co.elastic.clients.transport.rest_client.RestClientTransport;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.net.ssl.*;
import java.security.SecureRandom;
import java.security.cert.X509Certificate;

@Configuration
public class ElasticsearchConfig {

    @Bean
    public ElasticsearchClient client() throws Exception {

        final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
        //设置账号密码
        credentialsProvider.setCredentials(
                AuthScope.ANY, new UsernamePasswordCredentials("elastic", "elastic"));

        final SSLContext sslContext = SSLContext.getInstance("TLS");
        sslContext.init(null, new TrustManager[]{new MyTrustManager()}, new SecureRandom());
        final MyHostnameVerifier hostnameVerifier = new MyHostnameVerifier();
        RestClient restClient = RestClient.builder(new HttpHost("127.0.0.1", 9200, "https"))
                .setHttpClientConfigCallback(httpClientBuilder->httpClientBuilder
                        .setDefaultCredentialsProvider(credentialsProvider)
                        .setSSLContext(sslContext)
                        .setSSLHostnameVerifier(hostnameVerifier)
                ).build();
        ElasticsearchTransport transport = new RestClientTransport(restClient, new JacksonJsonpMapper());
        ElasticsearchClient client = new ElasticsearchClient(transport);
        return client;
    }


    /**
     * 重写HostnameVerifier接口
     */
    private static class MyHostnameVerifier implements HostnameVerifier {
        @Override
        public boolean verify(String hostname, SSLSession session) {
            return true;
        }
    }

    private static class MyTrustManager implements X509TrustManager {
        @Override
        public void checkClientTrusted(X509Certificate[] chain, String authType) {
        }
        @Override
        public void checkServerTrusted(X509Certificate[] chain, String authType) {
        }
        @Override
        public X509Certificate[] getAcceptedIssuers() {
            return null;
        }
    }
}

https改为http

也可以改为http访问,修改配置文件elasticsearch.yml 把下面配置改为false 重启就好了。文章来源地址https://www.toymoban.com/news/detail-516488.html

xpack.security.http.ssl:
  enabled: false

到了这里,关于ElasticSearch8.+ 通过https访问的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Elasticsearch开启HTTPS访问

    2024年02月14日
    浏览(46)
  • Elasticsearch(ES6)------(4) ES设置用户名密码访问

     Elasticsearch(ES)             (1) 下载、安装+kibana 下载                  (2) 本机多节点启动+ElasticSearch head插件使用              (3) 索引、文档概念和索引CRUD             (4) ES设置用户名密码访问             (5)kibana的es查询、mysql查询转换和对应ja

    2024年02月09日
    浏览(60)
  • 解决ElasticSearch本地只能通过localhost访问不能通过IP访问的问题。

    安装完成后只能通过localhost访问,不能通过ip进行访问,解决以下三点 1、检查防火墙是否已经关闭         sudo systemctl status firewalld  查看防火墙状态 如果是active就修改         sudo systemctl stop firewalld   关闭防火墙         sudo systemctl disable firewalld   这个方式可以永久

    2024年02月04日
    浏览(45)
  • Elasticsearch8 - Docker安装Elasticsearch8.12.2

    最近在学习 ES,所以需要在服务器上装一个单节点的 ES 服务器环境:centos 7.9 目前最新版本是 8.12.2 新增配置文件 elasticsearch.yml 解释一下,前三行是开启远程访问和跨域,最后一行是开启密码访问 Networking | Elasticsearch Guide [8.12] | Elastic 在宿主机创建容器的挂载目录,我的目录

    2024年04月15日
    浏览(53)
  • [Elasticsearch] 给ES设置必须以用户名密码访问

    一、elasticsearch.yml中设置 1、进入es的config目录中打开elasticsearch.yml 2、增加以下两项: 二、重启es后使用elasticsearch-setup-passwords进行密码设置 1、在完成修改elasticsearch.yml后,重启es; 2、进入es的bin目录,敲入命令: 3、之后分别给elastic, kibana, logstash_system,beats_system等用户设置密

    2024年02月08日
    浏览(56)
  • ElasticSearch8 - SpringBoot整合ElasticSearch

    springboot 整合 ES 有两种方案,ES 官方提供的 Elasticsearch Java API Client 和 spring 提供的 [Spring Data Elasticsearch](Spring Data Elasticsearch) 两种方案各有优劣 Spring:高度封装,用着舒服。缺点是更新不及时,有可能无法使用 ES 的新 API ES 官方:更新及时,灵活,缺点是太灵活了,基本是一

    2024年03月25日
    浏览(97)
  • Docker安装ElasticSearch8.X docker安装elasticsearch8.X完整详细教程

    Docker常用命令大全 Docker ElasticSearch 官方仓库 Docker 生产环境安装Elasticsearch教程 我这边选择的版本是 docker pull elasticsearch:8.8.1 在终端中执行以下命令以拉取 docker pull elasticsearch:8.8.1 根据自己使用过的版本: 使用以下命令创建一个新的 elasticsearch 容器并将其启动: --name 是 容器

    2024年02月15日
    浏览(45)
  • ElasticSearch8闪退

    点了.bat文件好几次,发现最后每次都是最后出现了一堆报错信息后一下就没了。 去ES安装目录下的logs文件夹中找到执行日志。 查看出错原因 报错内容为 是按照网上文档设置该节点为主节点的设置有问题。 由于下载的版本为8,去查找了官方文档Elasticsearch Guide 在ES8中设置主

    2023年04月08日
    浏览(33)
  • 【工作记录】springboot集成spring-data-elasticsearch访问es及问题解决

    ​ 前文我们介绍了通过可视化爬虫爬取新闻到Mysql库、基于docker-compose的elk集群部署及抽取mysql数据到es的过程,本文我们介绍通过集成springboot和spring-data-elasticsearch客户端完成连接es并查询数据的开发过程以及遇到的问题和解决方案,希望对大家能有所帮助,对文中内容有任何

    2023年04月10日
    浏览(40)
  • linux 卸载elasticsearch及安装elasticsearch8.5(rpm)

    目录 卸载elasticsearch rpm安装elasticsearch8.5 # 检查elasticsearch服务状态 # 停止elasticsearch服务状态 # 剔除elasticsearch服务 # 重载系统服务 # 查询rpm安装的elasticsearch # rpm卸载elasticsearch,elasticsearch-6.7.2-1.noarch名称 需要根据查询上一步查询结果来 # 删除残留文件 # 删除elasticsearch自定义文件

    2024年02月03日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包