Improve client ssl configuration.

Original Pull Request #2780
Closes #2778
This commit is contained in:
Peter-Josef Meisch 2023-11-24 19:09:43 +01:00 committed by GitHub
parent ddd795a3d3
commit 1f4479092a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 22 additions and 10 deletions

View File

@ -233,6 +233,15 @@ public interface ClientConfiguration {
*/ */
TerminalClientConfigurationBuilder usingSsl(); TerminalClientConfigurationBuilder usingSsl();
/**
* Connects using https if flag is true.
*
* @param flag whether to use https in the connection
* @return the {@link TerminalClientConfigurationBuilder}
* @since 5.3
*/
TerminalClientConfigurationBuilder usingSsl(boolean flag);
/** /**
* Connect via {@literal https} using the given {@link SSLContext}.<br /> * Connect via {@literal https} using the given {@link SSLContext}.<br />
* <strong>NOTE</strong> You need to leave out the protocol in * <strong>NOTE</strong> You need to leave out the protocol in

View File

@ -25,7 +25,6 @@ import java.util.function.Supplier;
import javax.net.ssl.HostnameVerifier; import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLContext; import javax.net.ssl.SSLContext;
import org.elasticsearch.client.RestClientBuilder.HttpClientConfigCallback;
import org.springframework.data.elasticsearch.client.ClientConfiguration.ClientConfigurationBuilderWithRequiredEndpoint; import org.springframework.data.elasticsearch.client.ClientConfiguration.ClientConfigurationBuilderWithRequiredEndpoint;
import org.springframework.data.elasticsearch.client.ClientConfiguration.MaybeSecureClientConfigurationBuilder; import org.springframework.data.elasticsearch.client.ClientConfiguration.MaybeSecureClientConfigurationBuilder;
import org.springframework.data.elasticsearch.client.ClientConfiguration.TerminalClientConfigurationBuilder; import org.springframework.data.elasticsearch.client.ClientConfiguration.TerminalClientConfigurationBuilder;
@ -106,6 +105,13 @@ class ClientConfigurationBuilder
return this; return this;
} }
@Override
public TerminalClientConfigurationBuilder usingSsl(boolean flag) {
this.useSsl = flag;
return this;
}
/* /*
* (non-Javadoc) * (non-Javadoc)
* @see org.springframework.data.elasticsearch.client.ClientConfiguration.MaybeSecureClientConfigurationBuilder#usingSsl(javax.net.ssl.SSLContext) * @see org.springframework.data.elasticsearch.client.ClientConfiguration.MaybeSecureClientConfigurationBuilder#usingSsl(javax.net.ssl.SSLContext)

View File

@ -58,7 +58,7 @@ public class ClientConfigurationUnitTests {
ClientConfiguration clientConfiguration = ClientConfiguration.builder() // ClientConfiguration clientConfiguration = ClientConfiguration.builder() //
.connectedTo("foo", "bar") // .connectedTo("foo", "bar") //
.usingSsl() // .usingSsl(true) //
.withDefaultHeaders(headers) // .withDefaultHeaders(headers) //
.withConnectTimeout(Duration.ofDays(1)).withSocketTimeout(Duration.ofDays(2)) // .withConnectTimeout(Duration.ofDays(1)).withSocketTimeout(Duration.ofDays(2)) //
.withPathPrefix("myPathPrefix") // .withPathPrefix("myPathPrefix") //

View File

@ -51,10 +51,8 @@ public class ElasticsearchTemplateConfiguration extends ElasticsearchConfigurati
configurationBuilder = configurationBuilder.withProxy(proxy); configurationBuilder = configurationBuilder.withProxy(proxy);
} }
if (clusterConnectionInfo.isUseSsl()) { configurationBuilder = ((ClientConfiguration.MaybeSecureClientConfigurationBuilder) configurationBuilder)
configurationBuilder = ((ClientConfiguration.MaybeSecureClientConfigurationBuilder) configurationBuilder) .usingSsl(clusterConnectionInfo.isUseSsl());
.usingSsl();
}
String user = System.getenv("DATAES_ELASTICSEARCH_USER"); String user = System.getenv("DATAES_ELASTICSEARCH_USER");
String password = System.getenv("DATAES_ELASTICSEARCH_PASSWORD"); String password = System.getenv("DATAES_ELASTICSEARCH_PASSWORD");

View File

@ -50,10 +50,9 @@ public class ReactiveElasticsearchTemplateConfiguration extends ReactiveElastics
if (proxy != null) { if (proxy != null) {
configurationBuilder = configurationBuilder.withProxy(proxy); configurationBuilder = configurationBuilder.withProxy(proxy);
} }
if (clusterConnectionInfo.isUseSsl()) {
configurationBuilder = ((ClientConfiguration.MaybeSecureClientConfigurationBuilder) configurationBuilder) configurationBuilder = ((ClientConfiguration.MaybeSecureClientConfigurationBuilder) configurationBuilder)
.usingSsl(); .usingSsl(clusterConnectionInfo.isUseSsl());
}
String user = System.getenv("DATAES_ELASTICSEARCH_USER"); String user = System.getenv("DATAES_ELASTICSEARCH_USER");
String password = System.getenv("DATAES_ELASTICSEARCH_PASSWORD"); String password = System.getenv("DATAES_ELASTICSEARCH_PASSWORD");