在应用程序中禁用Spring Data Redis TLS验证,

ff29svar  于 2022-11-21  发布在  Redis
关注(0)|答案(1)|浏览(204)

我们正在使用spring-data-redis和Azure Cache for Redis。在本地调试时,连接的唯一方法是使用TLS,但禁用对等验证-据我所知,Azure对证书做了一些奇怪的事情,使它们无法通过验证(https://github.com/lettuce-io/lettuce-core/issues/1454)。
使用RedisConnectionFactory的构建器并设置configurationBuilder.useSsl().disablePeerVerification();来禁用它非常简单,但是我们已经不再使用单独的配置文件,而是将所有配置文件都移到了application. yml中。是否有一个等效的选项可以添加到该文件中的redis块中以关闭对等验证?我已经查看了文档,但没有找到任何内容。

t1rydlwq

t1rydlwq1#

在我看来,可以使用ConditionalOnPropertyLettuceClientConfigurationBuilderCustomizer
例如:

@Bean
@ConditionalOnProperty(
        value = {"spring.redis.ssl"},
        havingValue = "true"
)
public LettuceClientConfigurationBuilderCustomizer lettuceClientConfigurationBuilderCustomizer(){
    return (clientConfigurationBuilder) ->{
        clientConfigurationBuilder.useSsl().disablePeerVerification();
    };
}

相关问题