gpt4 book ai didi

java - Spring Boot 的 Elasticsearch Searchguard 配置

转载 作者:行者123 更新时间:2023-12-02 09:44:30 25 4
gpt4 key购买 nike

我尝试从 Spring Boot 应用程序使用 Searchguard 连接到 Elasticsearch。

我为 TransportClient 创建一个 bean。看起来像这样:

Settings settings = Settings.builder()
.put(SSLConfigConstants.SEARCHGUARD_SSL_TRANSPORT_KEYSTORE_TYPE, "PKCS12")
.put(SSLConfigConstants.SEARCHGUARD_SSL_TRANSPORT_KEYSTORE_FILEPATH, keyStore)
.put(SSLConfigConstants.SEARCHGUARD_SSL_TRANSPORT_KEYSTORE_PASSWORD, keyPassword)
.put(SSLConfigConstants.SEARCHGUARD_SSL_TRANSPORT_TRUSTSTORE_FILEPATH, trustStore)
.put("cluster.name", clusterName)
.build();

TransportClient client = new PreBuiltTransportClient(settings, SearchGuardPlugin.class);

TransportAddress[] addresses = clusterNodes.stream()
.map(node -> {
String[] url = StringUtils.deleteWhitespace(node).split(":");
return new TransportAddress(new InetSocketAddress(url[0], Integer.parseInt(url[1])));
}).toArray(TransportAddress[]::new);

client.addTransportAddresses(addresses);

我的存储库扩展了 ElasticsearchRepository。

但是当我的应用程序启动时,我收到一个奇怪的异常:

ERROR com.floragunn.searchguard.ssl.transport.SearchGuardSSLNettyTransport - SSL Problem error:10000410:SSL routines:OPENSSL_internal:SSLV3_ALERT_HANDSHAKE_FAILURE javax.net.ssl.SSLHandshakeException: error:10000410:SSL routines:OPENSSL_internal:SSLV3_ALERT_HANDSHAKE_FAILURE

可能是什么原因?我应该检查代码的哪一部分?

我有另一个直接使用 ElasticsearchTemplate 的应用程序(仅 SearchQuery)。我没有任何问题。

Elasticsearch 版本:6.4.3

最佳答案

已修复,当我将 searchguard.ssl.transport.enable_openssl_if_available 设置为 false 时:

...
.put(SSLConfigConstants.SEARCHGUARD_SSL_TRANSPORT_ENABLE_OPENSSL, false)
...

关于java - Spring Boot 的 Elasticsearch Searchguard 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56775549/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com