如何解决如何在 spring-boot-data-redis 中使用生菜通过 ssl 连接到哨兵?
我正在尝试使用 spring-boot-data-redis:2.2.4.RELEASE
连接到哨兵。
关于sentinel的配置例子很多,但是ssl就没有了。 如果我现在不使用 ssl 配置,我可以连接到 sentinel。
这是我的生菜配置代码。
@Bean
public LettuceConnectionFactory redisConnectionFactory(
RedisConfiguration redisConfiguration,@Value("${services.redis.tls:true}") boolean useTls,@Value("${services.redis.tls-path}") String certFilePath) {
//some timeout configurations here
//...
ClientOptions.Builder clientOptionsBuilder =
ClientOptions.builder().timeoutoptions(timeoutoptions);
if (redisConfiguration instanceof RedisSentinelConfiguration) {
SslOptions sslOptions = SslOptions.builder().truststore(new File(certFilePath)).build();
clientOptionsBuilder = clientOptionsBuilder.sslOptions(sslOptions);
}
LettuceClientConfiguration.LettuceClientConfigurationBuilder configurationBuilder =
LettuceClientConfiguration.builder();
if (useTls) {
configurationBuilder = configurationBuilder.useSsl().and();
}
LettuceClientConfiguration clientConfiguration =
configurationBuilder.clientOptions(clientOptionsBuilder.build()).build();
return new LettuceConnectionFactory(redisConfiguration,clientConfiguration);
}
如果我使用此配置,则会发生 SSLHandshakeException(等 handshake_failure)。
需要什么版本吗?我将 .jks
用于 certFilePath
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。