问题描述
我正在尝试使用 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 (将#修改为@)